示例#1
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function adminIndex()
 {
     $visas = Visa::with('Service', 'Service.country', 'Requirement')->get();
     $countries = Country::orderBy('name')->get();
     $requirements = Requirement::orderBy('title')->get();
     return View('admin.visas', ['visas' => $visas, 'countries' => $countries, 'requirements' => $requirements]);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $this->validate($request, ['requirement' => 'required']);
     Requirement::create($request->all());
     flash()->success('Successfully Added!');
     return redirect('/admin/requirements/add');
 }
 public function createDependence(Request $request, $id)
 {
     $requirement = Requirement::find($id);
     $requirement->testCases()->detach();
     $testCases = $request->input('testCases', []);
     $requirement->testCases()->attach($testCases);
     return $requirement->testCases;
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $courses = ['CSCI E-15 Dynamic Web Applications' => ['Area of Concentration', 'Upper Level Courses'], 'DGMD E-42 Making the Short Film: Innovations and Practices for the Digital Age' => ['On Campus', 'Upper Level Courses'], 'EXPO E-25 Academic Writing and Critical Reading' => ['Harvard Instructor', 'Expo-25'], 'CSCI E-3: Introduction to Web Programming Using JavaScript' => ['Area of Concentration', 'Upper Level Courses'], 'CSCI E-7: Introduction to Programming with Python' => ['Area of Concentration', 'Upper Level Courses', 'On Campus'], 'CSCI E-8: Web GIS: Technologies and Applications' => ['Area of Concentration', 'Upper Level Courses'], 'CSCI E-10A: Introduction to Computer Science Using Java I' => ['Area of Concentration', 'Upper Level Courses', 'Harvard Instructor']];
     foreach ($courses as $course_name => $requirements) {
         # First get the course
         $course = \App\Course::where('course_name', 'like', $course_name)->first();
         # Now loop through each tag for this book, adding the pivot
         foreach ($requirements as $requirement_name) {
             $requirement = \App\Requirement::where('requirement_name', 'LIKE', $requirement_name)->first();
             # Connect this req to this course
             $course->requirements()->save($requirement);
         }
     }
 }
示例#5
0
 public function getIndex(Request $request)
 {
     $userCourses = \App\Course::whereHas('users', function ($query) {
         $query->where('user_id', '=', \Auth::id());
     })->get();
     # Get all the requirements
     $requirements = \App\Requirement::all();
     # Array to keep track of the requirements this user has completed
     $satisfied_requirements = [];
     # See what requirements this user has satisfied by looping through all their courses
     foreach ($userCourses as $userCourse) {
         # Find out what requirements this particular course satisifies
         $course = \App\Course::where('id', '=', $userCourse->id)->with('requirements')->first();
         # Loop through all the requirements this course satisfies
         foreach ($course->requirements as $requirement) {
             # If we've never had an instance of this requirement being satisfied
             # We'll start the count off with how many hours this particular course satisfies
             if (!isset($satisfied_requirements[$requirement->id]['course_hours'])) {
                 $satisfied_requirements[$requirement->id]['course_hours'] = $course->course_hours;
             } else {
                 $satisfied_requirements[$requirement->id]['course_hours'] += $course->course_hours;
             }
         }
     }
     # Now we'll loop through all the requirements and update each one with a count of 'hours_remaining'
     foreach ($requirements as &$requirement) {
         # If they have anything that satisfies this requirement
         if (isset($satisfied_requirements[$requirement->id])) {
             # Then how many hours have been completed...
             $hours_completed = $satisfied_requirements[$requirement->id]['course_hours'];
             # Subtract that from this requirements `requirement_hours`
             # That kets stored in a new attribute for this $requirement, called `remaining_hours`
             $requirement->remaining_hours = $requirement->requirement_hours - $hours_completed;
         } else {
             $requirement->remaining_hours = $requirement->requirement_hours;
         }
     }
     return view('dash.index')->with('userCourses', $userCourses)->with('requirements', $requirements);
 }
 /**
  * Get all of the tasks for a given user.
  *
  * @param  User  $user
  * @return Collection
  */
 public function forUser(User $user)
 {
     return Requirement::where('user_id', $user->id)->orderBy('created_at', 'asc')->get();
 }
 /**
  * @group RequirementTest
  */
 public function test_requirement_destroy()
 {
     $user = factory(App\User::class)->create();
     $project = factory(App\Project::class)->create();
     $project->users()->attach($user, ['role' => 'admin']);
     $requirementA = factory(App\Requirement::class)->create(['project_id' => $project->id]);
     /** act */
     $this->actingAs($user)->delete("/requirement/{$requirementA->id}");
     /** assert */
     $this->seeJson($requirementA->toArray());
     $this->assertEquals(null, \App\Requirement::find($requirementA->id));
 }
示例#8
0
 /**
  * Delete the given Requirement.
  *
  * @param  int      $id
  * @return Redirect
  */
 public function getDelete($id = null)
 {
     $requirement = Requirement::destroy($id);
     // Redirect to the group management page
     return redirect('admin/requirements')->with('success', Lang::get('message.success.delete'));
 }
 public function destroy($id)
 {
     Requirement::destroy($id);
 }