public function getAdvisorsWhoHaveAvailabilitiesWithGivenExpertise()
 {
     $expertise_id = \Request::get('expertise_id');
     $givenExpertise = Expertise::find($expertise_id);
     $advisorsWithExpertise = $givenExpertise->advisors()->get();
     $advisorsWithAvailability = [];
     foreach ($advisorsWithExpertise as $adv) {
         if ($adv->availabilities->first() != null) {
             $advisorsWithAvailability[] = $adv;
         }
     }
     return View::make('api.advisors.with-expertise', compact(['advisorsWithAvailability']));
 }
 public function store()
 {
     if (Expertise::where('title', Input::get('expertise'))->first()) {
         $this->expertise->connectExpertiseToAdvisor(Input::get('expertise'), Input::get('advisor_id'));
         return 'added';
     } else {
         if (!Input::get('expertiseGroups')) {
             return 'create';
         } else {
             $expertise = $this->expertise->createExpertise(Input::get('expertise'), 'Description', Input::get('advisor_id'));
             $this->expertise->connectExpertiseToAdvisor(Input::get('expertise'), Input::get('advisor_id'));
             $expertiseGroupsIds = explode(',', Input::get('expertiseGroups'));
             $this->expertise->connectExpertiseToExpertiseGroup($expertise, $expertiseGroupsIds);
             return 'expG received';
         }
     }
 }
 public function connect($id)
 {
     $expertise = Expertise::find($id);
     $expertiseGroupsNotContainedByExpertise = $expertise->expertiseGroupsNotContainedByExpertise();
     $expertiseGroupsContainedByExpertise = $expertise->expertiseGroupsContainedByExpertise();
     return View::make('expertise.connect-group', compact(['expertiseGroupsNotContainedByExpertise', 'expertiseGroupsContainedByExpertise', 'expertise']));
 }