Skip to content

Commit

Permalink
Submission Controller
Browse files Browse the repository at this point in the history
  • Loading branch information
Horllameeday committed Jan 14, 2020
1 parent a52eb6f commit 9fd4573
Show file tree
Hide file tree
Showing 24 changed files with 151 additions and 80 deletions.
Binary file added Imports.zip
Binary file not shown.
13 changes: 7 additions & 6 deletions app/Exports/ScoreExport.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,25 @@
namespace App\Exports;

use App\Submission;
use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;

class ScoreExport implements FromCollection
{
protected $id;
protected $content;

function __construct($id) {
$this->id = $id;
function __construct($content) {
$this->content = $content;
}
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
return Submission::where('course_content_id', $this->id)->get()([
'file',
return Submission::where('course_content_id', $this->content)->get([
'user_id',
'score'
'score',
'file',
]);
}
}
23 changes: 13 additions & 10 deletions app/Http/Controllers/SubmissionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ public function create()
$data = array(
'courses' => auth()->user()->courses,
'contents' => CourseContent::all(),
'submissions' => Submission::all()
);

return view("$user_role.score")->with($data);
Expand Down Expand Up @@ -130,36 +131,38 @@ public function edit($id)
/**
* @return \Illuminate\Support\Collection
*/
public function scoresheet(Request $request, $id)

public function scoresheet(Request $request)
{
$this->validate($request, [
'content' => 'required',
]);

$id = $request->input('content');
return Excel::download(new ScoreExport($request->id), 'scoresheet.xlsx');
}
$content = CourseContent::where('id', $request->content)->first();
$title = $content->title;

return Excel::download(new ScoreExport($request->content), "$title.xlsx");
}

/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/

public function score(Request $request)
{

$this->validate($request, [
'file' => 'required|mimes:xls,xlsx',
'content' => 'required'
]);

$data = Excel::toArray(new ScoreImport, request()->file('file'));
$input = $request->input('content');
$content = CourseContent::find($input);
$data = Excel::import(new ScoreImport($content), request()->file('file'));

collect(head($data))->each(function ($row, $key) {
$input = $request->input('content');
collect(head($data))->each(function ($row, $key) use($input) {
$content = CourseContent::find($input);
$c = $content->course->id;
$new = Submission::where(['user_id'=>$row[0], 'course_content_id'=>$content->id])->first();
Expand All @@ -182,7 +185,7 @@ public function score(Request $request)
$r->save();
});
return back()->with('success', 'Success');
}
}

/**
* Remove the specified resource from storage.
Expand Down
8 changes: 3 additions & 5 deletions app/Imports/ScoreImport.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,10 @@
use App\CourseContent;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class ScoreImport implements ToModel, WithHeadingRow
class ScoreImport implements ToModel
{
private $content;
/*private $content;
public function __construct(CourseContent $content) {
$this->content = $content;
Expand All @@ -20,10 +19,9 @@ public function __construct(CourseContent $content) {
*/
public function model(array $row)
{
$content = 1;
return new Submission([
'user_id' => $row[0],
'score' => $row[1]
'score' => $row[1],
]);
}
}
4 changes: 4 additions & 0 deletions app/Submission.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

class Submission extends Model
{
protected $fillable = [
'user_id', 'score'
];

public function user(){
return $this->belongsTo(User::class);
}
Expand Down
Binary file added resources.zip
Binary file not shown.
68 changes: 33 additions & 35 deletions resources/views/admin/score.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,60 +9,58 @@
<h4 class="card-title">GRADE SUBMISSIONS</h4>
</div>
<div class="card-body">
<form action="{{route('score')}}" method="post" enctype="multipart/form-data">
<form class="user-form" method="get" action="{{route('scoresheet')}}">
@csrf
<div class="row">
<div class="col-md-5 pr-1">
<div class="form-group">
Upload<input type="file" name="file" class="form-control">
</div>
<div class="col-md-8">
<div class="form-group">
<div> <label for="content"><strong>Course Content</strong></label></div>
@foreach($courses as $course)
@foreach($contents as $content)
@if($content->course_id == $course->id)
<input type="radio" class="form-control" name="content" value="{{$content->id}}">{{$content->title}}
@endif
@endforeach
@endforeach
</div>
</div>
<div class="row">
<div class="col-md-5 pr-1">
<div class="col-md-12">
<div class="form-group">
@foreach($courses as $course)
@foreach($contents as $content)
@if($content->course_id == $course->id)
<input type="radio" name="content" value="{{$content->id}}" class="form-control">{{$content->title}}
@endif
@endforeach
@endforeach
</div>
</div>
</div>
</div>
<div class="row">
<div class="update ml-auto mr-auto">
<button type="submit" class="btn btn-primary btn-round">SUBMIT</button>
</div>
<button class="but">GET SCORESHEET</button>
</div>
</form>
<form action="{{route('scoresheet')}}" method="get">
<form class="user-form" method="post" action="{{route('score')}}" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col-md-5 pr-1">
<div class="form-group">
@foreach($courses as $course)
@foreach($contents as $content)
@if($content->course_id == $course->id)
<input type="radio" name="content" value="{{$content->id}}" class="form-control">{{$content->title}}
@endif
@endforeach
@endforeach
</div>
<div class="col-md-4">
<div class="form-group">
<div> <label for="content"><strong>Course Content</strong></label></div>
@foreach($courses as $course)
@foreach($contents as $content)
@if($content->course_id == $course->id)
<input type="radio" class="form-control" name="content" value="{{$content->id}}">{{$content->title}}
@endif
@endforeach
@endforeach
</div>
</div>
</div>
<div class="row">
<div class="update ml-auto mr-auto">
<button type="submit" class="btn btn-warning btn-round">DOWNLOAD SCORESHEET</button>
<div class="col-md-8">
<div> <label><strong>Sheet</strong></label> </div>
<input type="file" class="form-control" name="file"><br>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<button class="but">SCORE</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>

@endsection
1 change: 1 addition & 0 deletions resources/views/admin/submissions.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
@endforeach
@endforeach
@endforeach
<a class="btn btn-primary" href="{{route('submission.create')}}">GRADE SUBMISSIONS</a>
</div>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion resources/views/course/courses.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ class="img-fluid">
<footer >
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/inc/footer.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
4 changes: 3 additions & 1 deletion resources/views/inc/usersidebar.blade.php
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
<!-- Vertical navbar -->
<div class="vertical-nav" id="sidebar" style="background-color: #3A0842;">
<div class="py-4 px-3 mb-4">
<img alt="" class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1571217844/startng/Logo_1_x4nvwt.png">
<a href="{{route('index')}}">
<img alt="" class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1571217844/startng/Logo_1_x4nvwt.png">
</a>
</div>

<ul class="nav flex-column mb-0">
Expand Down
5 changes: 2 additions & 3 deletions resources/views/layouts/user-dashboard.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,11 @@ class="fa fa-bars"></i></button>
<a href=""><i class="fa fa-bell"></i></a>
</div>
<div class="col-md-3 offset-md-1 mt-2">
@if($user->profile_pic)
<p><img width="50" height="50" class="img-fluid rounded-circle mr-3" src="/storage/profile_pictures/{{$user->profile_pic}}"> <span class="font-weight-bold">{{ Auth::user()->first_name }} {{ Auth::user()->last_name }}</span></p>
@if(Auth::user()->profile_pic)
<p><img width="50" height="50" class="img-fluid rounded-circle mr-3" src="/storage/profile_pictures/{{Auth::user()->profile_pic}}"> <span class="font-weight-bold">{{ Auth::user()->first_name }} {{ Auth::user()->last_name }}</span></p>
@else
<p><img width="50" height="50" class="img-fluid rounded-circle mr-3" src="https://s3.eu-central-1.amazonaws.com/bootstrapbaymisc/blog/24_days_bootstrap/fox.jpg"> <span class="font-weight-bold">{{ Auth::user()->first_name }} {{ Auth::user()->last_name }}</span></p>
@endif

</div>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/about.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ class="img-fluid">
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/contact.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/curriculum.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -698,7 +698,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/faq.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/findcourse.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/hire.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/index.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -550,7 +550,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/privacy.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
<div class="col-md-4 mt-4">

Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/search.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
2 changes: 1 addition & 1 deletion resources/views/pages/terms.blade.php
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@
<footer>
<div class="container-fluid footer-top col-lg-12">
<div class="container col-md-12 p-5">
<img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png">
<a href="{{route('index')}}"><img class="img-fluid" src="https://res.cloudinary.com/sgnolebagabriel/image/upload/v1572346080/startng/Logo_2_ee1iqv.png"></a>
<div class="row">
@if(Auth::guest())
<div class="col-md-4 mt-4">
Expand Down
Loading

0 comments on commit 9fd4573

Please sign in to comment.