public function addSectionCode()
 {
     $section_code = new SectionCode();
     $teacher = Teacher::find(Auth::Id());
     $subject_id = Input::get('subject');
     $section_id = Input::get('section');
     $current_period = Input::get('current_period');
     $section_code->teacher_id = new MongoId($teacher->_id);
     $section_code->subject_id = new MongoId($subject_id);
     $section_code->section_id = new MongoId($section_id);
     $section_code->current_period = $current_period;
     $section_code->teamleaders_id = array();
     $section_code->students_id = array();
     $section_code->status = true;
     $subject = Subject::find($subject_id);
     $section = $subject->sections()->find($section_id);
     $code = $this->getInitialLetters($subject->name) . '-' . $section->code . '-' . $current_period;
     $section_code->code = $code;
     if (!is_null($section->current_code)) {
         $sectionCode = SectionCode::where('code', $section->current_code)->first();
         if (isset($sectionCode->_id)) {
             $sectionCode->status = false;
             $sectionCode->save();
         }
     }
     try {
         $section_code->save();
         $section->current_code = $code;
         $section->save();
     } catch (MongoDuplicateKeyException $e) {
         return Redirect::back()->withErrors(array('error' => Lang::get('section_codes.duplicate_code')));
     }
     return Redirect::to(Lang::get('routes.section_codes'))->with(array('message' => Lang::get('section_codes.success_message')));
 }
 public static function getLastTitleId()
 {
     try {
         return Teacher::find(self::$lastTeacherId)->title->title_id;
     } catch (Exception $e) {
         return 'all';
     }
 }
 /**
  * Return the sections belonging to a teacher
  * 
  * @return JSON Ajax
  */
 public function getSubjectSections()
 {
     if (Request::ajax()) {
         $subject = Subject::where("_id", new MongoId(Input::get("_id")))->first();
         $teacher = Teacher::find(Auth::id());
         $sections = $subject->sections()->whereIn('_id', $teacher->sections_id)->get();
         if (count($sections) > 0) {
             return Response::json(array('subject' => $subject->_id, 'sections' => $sections));
         }
     }
 }
 /**
  * 同步更新教師的班級資料
  */
 public static function syncTeacher()
 {
     $classes = Classes::find(self::$lastClassesId);
     try {
         $teacher = Teacher::where('classes_id', '=', $classes->classes_id)->update(array('classes_id' => 0));
         if ($classes->teacher_id > 0) {
             $teacher = Teacher::find($classes->teacher_id)->update(array('classes_id' => $classes->classes_id));
         }
     } catch (Exception $e) {
     }
 }
 /**
  * Unlink a section with a teacher 
  * 
  * @return JSON Ajax
  */
 public function unlink()
 {
     if (Request::ajax()) {
         $subject = Subject::find(Input::get('subject_id'));
         $teacher = Teacher::find(Input::get('teacher_id'));
         $teacher->pull('sections_id', new MongoId(Input::get('section_id')));
         $section = $subject->sections()->find(Input::get('section_id'));
         $section->is_free = true;
         $section->save();
         if ($subject->sections()->whereIn('_id', $teacher->sections_id)->count() === 0) {
             $teacher->pull('subjects_id', new MongoId(Input::get('subject_id')));
         }
         return Response::json("00");
     }
 }
Beispiel #6
0
 /**
  * Show chat home view
  * 
  * @return View
  */
 public function showView()
 {
     $users = array();
     $user = UserController::getUser(Auth::user());
     if ($user instanceof Teacher) {
         $sectionCodes = SectionCode::where('teacher_id', new MongoId($user->_id))->where('status', true)->get();
         foreach ($sectionCodes as $sectionCode) {
             foreach ($sectionCode->teamleaders_id as $id) {
                 array_push($users, Student::find($id));
             }
             $users = array_unique($users);
         }
     } else {
         if ($user instanceof Student) {
             $sectionCodes = SectionCode::whereIn('students_id', array(new MongoId($user->_id)))->where('status', true)->get();
             foreach ($sectionCodes as $sectionCode) {
                 foreach ($sectionCode->students_id as $id) {
                     if ($id != Auth::id()) {
                         array_push($users, Student::find($id));
                     }
                 }
                 $count = SectionCode::whereIn('teamleaders_id', array(Auth::id()))->where('_id', new MongoId($sectionCode->_id))->count();
                 if ($count > 0) {
                     array_push($users, Teacher::find($sectionCode->teacher_id));
                 }
                 $users = array_unique($users);
             }
         } else {
             if ($user instanceof University) {
                 return View::make('error.403');
             }
         }
     }
     $ip = App::isLocal() ? '127.0.0.1' : '104.131.3.39';
     return View::make('chat.home')->with(array('contacts' => $users, 'user' => $user, 'ip' => $ip));
 }
     $teacherList = $titleId == 'all' ? Teacher::orderBy('teacher_name') : Teacher::where('title_id', '=', $titleId)->orderBy('teacher_name');
     $viewData['teacherList'] = $teacherList->get();
     $viewData['titleList'] = Title::orderBy('title_name')->get();
     $viewData['titleId'] = $titleId;
     $viewData['teacher'] = Teacher::find($teacherId);
     $viewData['teacherId'] = $teacherId;
     $viewData['courseUnits'] = $viewData['teacher']->courseunit;
     return View::make('timetable')->with($viewData);
 });
 // 顯示教師排課編輯畫面
 Route::get('view_title/{titleId}/{teacherId}/{courseUnitId}', function ($titleId, $teacherId, $courseUnitId) {
     $teacherList = $titleId == 'all' ? Teacher::orderBy('teacher_name') : Teacher::where('title_id', '=', $titleId)->orderBy('teacher_name');
     $viewData['teacherList'] = $teacherList->get();
     $viewData['titleList'] = Title::orderBy('title_name')->get();
     $viewData['titleId'] = $titleId;
     $viewData['teacher'] = Teacher::find($teacherId);
     $viewData['teacherId'] = $teacherId;
     $viewData['courseUnits'] = $viewData['teacher']->courseunit;
     $viewData['courseUnit'] = Courseunit::find($courseUnitId);
     return View::make('timetable')->with($viewData);
 });
 // 執行更新排課設定
 Route::post('edit/{titleId}/{teacherId}/{courseUnitId}', function ($titleId, $teacherId, $courseUnitId) {
     // 設定為編輯模式,方便驗證功能
     $validator = FormValidator::courseUnit(array_merge(Input::all(), array('mode' => 'edit' . $courseUnitId)));
     if ($validator->fails()) {
         return Redirect::to('/timetable/view_title/' . $titleId . '/' . $teacherId . '/' . $courseUnitId)->withInput()->withErrors($validator)->with('message', '輸入錯誤,請檢查');
     } else {
         $data = Input::all();
         $courseUnit = Courseunit::find($courseUnitId);
         if ($courseUnit->update($data)) {
Beispiel #8
0
                            <div class="offset2 span3">
                                <div class="control-group">
                                <label class="control-label">Created Date</label>
                                    <div class="controls">
                                        <span class="input-xlarge uneditable-input">{{ $tutorial->created_at }}</span>
                                    </div>
                                </div>
                                <label class="control-label">Updated Date</label>
                                <div class="controls">
                                        <span class="input-xlarge uneditable-input">{{ $tutorial->updated_at }}</span>
                                </div>
                                <label class="control-label">Created By</label>
                                <div class="controls">
                                        <span class="input-xlarge eneditable-input">
                                            <?php 
$teacher = Teacher::find($tutorial->createdby);
$username = Sentry::findUserByLogin($teacher->email);
echo $username->first_name . ' ' . $username->last_name;
?>
                                        </span>
                                </div><br>
                                <label class="control-label">Current Attachments</label>
                                <table class="table table-striped table-bordered bootstrap-datatable datatable">
                                    <thead>
                                        <tr>
                                            <th>#id</th>
                                            <th>Name</th>
                                            <th>Action</th>
                                        </tr>
                                    </thead>
                                    <tbody>
 public function teacherMore()
 {
     $teacher_id = Input::get('teacher_id');
     $teacher = Teacher::find($teacher_id);
     return View::make('home.comedy.comedy-details')->with(array('teacher' => $teacher, 'links' => $this->link()));
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     // self::requestOriginalApi('/api/teachers', "DELETE");
     // return Redirect::to('admin/teachers');
     $teacher = Teacher::find($id);
     $teacher->delete();
     return Redirect::to('admin/teachers');
 }
Beispiel #11
0
      var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    }
    </script>
    </head>
    <body>
        {{ $header }}
        <div class='container-fluid'>
            <div class='row-fluid'>
                <div class="span3 offset2">
                <?php 
$user = User::find($id);
$userdata = Student::find($id);
$userstream = 'student';
if ($userdata == NULL) {
    $userdata = Teacher::find($id);
    $userstream = 'teacher';
} else {
    $userdata;
}
?>
                    <div class="pull-left">
                        First Name -
                    </div>
                    <div class="pull-right">
                        {{$user->first_name}}
                    </div><br>&nbsp;<br>
                    <div class="pull-left">
                        Last Name -
                    </div>
                    <div class="pull-right">
 public function showReportView()
 {
     $teacher = Teacher::find(Auth::id());
     $subjects = Subject::whereIn('_id', $teacher->subjects_id)->get();
     $section_codes = SectionCode::where('teacher_id', new MongoId($teacher->_id))->where('status', true)->get();
     return View::make('teacher.report')->with(array('subjects' => $subjects, 'teacher_section_id' => $teacher->sections_id, 'section_codes' => $section_codes));
 }
 public function deleteTeacher()
 {
     ${$teacher_id} = Input::get('$teacher_id');
     $teacher = Teacher::find($teacher_id);
     if (!$teacher_id->delete()) {
         return Response::json(array('errCode' => 1, 'message' => '删除失败!'));
     }
     return Response::json(array('errCode' => 0, 'message' => '删除成功!'));
 }
Beispiel #14
0
			<div class="navbar-default sidebar" role="navigation">
				<div class="sidebar-nav navbar-collapse">
					<ul class="nav" id="side-menu">
						<li>
							<a href="{{Lang::get('routes.teacher')}}" class="nav_home_categoria" style="background-color: #0097A7; color: white;">
								<i class="fa fa-home"></i> {{Lang::get('teacher_master.board')}}
							</a>
						</li>
						<li>
							<a href="#" class="nav_categoria">
								<i class="fa fa-list"></i> 
								{{Lang::get('teacher_master.subject')}}
							</a>
							<ul class="nav nav-second-level">
								<?php 
$teacher = Teacher::find(Auth::id());
$subjects = Subject::whereIn('_id', $teacher->subjects_id)->get();
?>
								@foreach($subjects as $subject)
									<li>
										<a href="#">
											<i class="fa fa-eye" style="color: #0097A7;"></i> 
											{{ $subject->name }}
										</a>
										<ul class="nav nav-third-level">
											<?php 
$sections = $subject->sections()->whereIn('_id', $teacher->sections_id)->get();
?>
											@foreach($sections as $section)
												<li>
													<a href="#" id="{{$section->current_code}}" class="menu_section">
 private function updateUser($user, $group)
 {
     $accountlevel = Input::get('accountlevel');
     $useradminupgrade = array();
     $useradminupgrade['enabled'] = 0;
     $useradminupgrade['from'] = 'teachers';
     switch ($group) {
         case 'teachers':
             if ($accountlevel == 'admin') {
                 $useradminupgrade['enabled'] = 1;
                 $useradminupgrade['from'] = 'teachers';
                 break;
             }
             $updateableuserid = $user->id;
             $user = User::find($user->id);
             $updateableuser = Student::find($user->id);
             $userstream = 'student';
             if ($updateableuser == NULL) {
                 $updateableuser = Teacher::find($user->id);
                 $userstream = 'teacher';
             }
             $updateduser = self::setAccountLevel($accountlevel);
             $updateduser->email = $updateableuser->email;
             $updateduser->dob = $updateableuser->dob;
             $updateableuser->extra = $updateableuser->extra;
             $updateduser->user_id = $updateableuser->user_id;
             $newuser = Sentry::findUserById($user->id);
             $newusergroup = self::setUserGroup($accountlevel);
             $oldusergroup = Sentry::findGroupByName('teachers');
             $newuser->removeGroup($oldusergroup);
             $newuser->addGroup($newusergroup);
             //Save NEW User
             $updateduser->save();
             //Delete OLD User
             $updateableuser->delete();
             break;
         case 'students':
             if ($accountlevel == 'admin') {
                 $useradminupgrade['enabled'] = 1;
                 $useradminupgrade['from'] = 'students';
                 break;
             }
             $updateableuserid = $user->id;
             $user = User::find($user->id);
             $updateableuser = Student::find($user->id);
             $userstream = 'student';
             if ($updateableuser == NULL) {
                 $updateableuser = Teacher::find($user->id);
                 $userstream = 'teacher';
             }
             $updateduser = self::setAccountLevel($accountlevel);
             $updateduser->email = $updateableuser->email;
             $updateduser->dob = $updateableuser->dob;
             $updateduser->extra = $updateableuser->extra;
             $updateduser->user_id = $updateableuser->user_id;
             $newuser = Sentry::findUserById($user->id);
             $newusergroup = self::setUserGroup($accountlevel);
             $oldusergroup = Sentry::findGroupByName('students');
             $newuser->removeGroup($oldusergroup);
             $newuser->addGroup($newusergroup);
             //Delete OLD User
             $updateableuser->delete();
             //Save NEW User
             $updateduser->save();
             break;
         case 'admin':
             if ($accountlevel == 'admin') {
                 $useradminupgrade['enabled'] = 1;
                 $useradminupgrade['from'] = 'admin';
             }
             $updateableuserid = $user->id;
             $newuser = Sentry::findUserById($updateableuserid);
             $newusergroup = self::setUserGroup($accountlevel);
             $oldusergroup = Sentry::findGroupByName('admin');
             $newuser->removeGroup($oldusergroup);
             $newuser->addGroup($newusergroup);
             break;
     }
     if ($useradminupgrade['enabled'] == 1) {
         switch ($useradminupgrade['from']) {
             case 'teachers':
                 $updateableuserid = $user->id;
                 $newuser = Sentry::findUserById($updateableuserid);
                 $newusergroup = self::setUserGroup('admin');
                 $oldusergroup = Sentry::findGroupByName('students');
                 $newuser->removeGroup($oldusergroup);
                 $newuser->addGroup($newusergroup);
                 break;
             case 'students':
                 $updateableuserid = $user->id;
                 $newuser = Sentry::findUserById($updateableuserid);
                 $newusergroup = self::setUserGroup('admin');
                 $oldusergroup = Sentry::findGroupByName('students');
                 $newuser->removeGroup($oldusergroup);
                 $newuser->addGroup($newusergroup);
         }
     }
 }
						<table id="tableOrder" class="table table-striped table-bordered table-hover tablesorter">
							<thead>
								<tr>
									<th>#</th>
									<th>{{Lang::get('register_group.subject')}}</th>
									<th>{{Lang::get('register_group.section')}}</th>
									<th>{{Lang::get('register_group.section_code')}}</th>
									<th>{{Lang::get('register_group.teacher')}}</th>
								</tr>
							</thead>
							<tbody>
								@foreach($sections as $index => $section_code)
									<?php 
$subject = Subject::find($section_code->subject_id);
$section = $subject->sections()->find($section_code->section_id);
$teacher = Teacher::find($section_code->teacher_id);
?>
									<tr>
										<td>{{$index+1}}</td>
										<td>{{$subject->name}}</td>
										<td>{{$section->code}}</td>
										<td>{{$section_code->code}}</td>
										<td>{{$teacher->name.' '.$teacher->last_name}}</td>
									</tr>
								@endforeach
							</tbody>
						</table>
					</div>	
				@endif
				<div class="modal fade" id="enrollModal" tabindex="-1" role="dialog" aria-labelledby="Enviar mensaje" aria-hidden="true">
					<div class="modal-dialog">
 public function update_level()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["actions"] = Session::get('actions');
         if (in_array('side_nuevo_nivel', $data["actions"])) {
             // Validate the info, create rules for the inputs
             $attributes = array('name' => 'Nombre del Nivel');
             $messages = array();
             $level_id = Input::get('level_id');
             $rules = array('name' => 'required|alpha_num_dash|min:2|max:45|unique:levels,name,' . $level_id . ',id,deleted_at,NULL');
             // Run the validation rules on the inputs from the form
             $validator = Validator::make(Input::all(), $rules, $messages, $attributes);
             // If the validator fails, redirect back to the form
             //$convocatoria_id = Input::get('convocatoria_id');
             $url = "levels/edit_level" . "/" . $level_id;
             if ($validator->fails()) {
                 return Redirect::to($url)->withErrors($validator)->withInput(Input::all());
             } else {
                 $teacher_id = Input::get('teacher_id');
                 $level = Level::find($level_id);
                 $level->name = Input::get('name');
                 if ($teacher_id && $teacher_id != $level->teacher_id) {
                     $teacher = Teacher::find($teacher_id);
                     // verificar si el profesor ya es tutor de otro nivel
                     if ($teacher->level) {
                         Session::flash('error', 'El profesor ya es Profesor de Aula o Tutor de otro nivel.');
                         return Redirect::to($url)->withInput(Input::all());
                     }
                     // desasignar el perfil de tutor al profesor anterior
                     $previus_teacher = $level->teacher;
                     if ($previus_teacher) {
                         $previus_teacher->user->profiles()->detach(Profile::where('name', '=', 'Tutor')->first()->id);
                     }
                     // asignar el perfil de tutor al profesor
                     $user = $teacher->user;
                     $user->profiles()->attach(Profile::where('name', '=', 'Tutor')->first()->id);
                     $level->teacher_id = $teacher_id;
                 }
                 $level->save();
                 Session::flash('message', 'Se editó correctamente el Nivel.');
                 // Llamo a la función para registrar el log de auditoria
                 $log_description = "Se editó el Nivel con id {{$level->id}}";
                 Helpers::registerLog(4, $log_description);
                 return Redirect::to($url);
             }
         } else {
             // Llamo a la función para registrar el log de auditoria
             $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'";
             Helpers::registrarLog(10, $descripcion_log);
             Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.');
             return Redirect::to('/dashboard');
         }
     } else {
         return View::make('error/error');
     }
 }
Beispiel #18
0
 /**
  * Returns the collection to which the user belongs
  * 
  * @param  $user User
  * @return Object
  */
 public static function getUser($user)
 {
     if (strcmp($user->rank, 'university') === 0) {
         return University::find($user->_id);
     } else {
         if (strcmp($user->rank, 'teacher') === 0) {
             return Teacher::find($user->_id);
         } else {
             if (strcmp($user->rank, 'student') === 0) {
                 return Student::find($user->_id);
             } else {
                 return null;
             }
         }
     }
 }
 public function delete_teacher()
 {
     if (Auth::check()) {
         $data["inside_url"] = Config::get('app.inside_url');
         $data["user"] = Session::get('user');
         $data["actions"] = Session::get('actions');
         if (in_array('side_nuevo_profesor', $data["actions"])) {
             $teacher_id = Input::get('teacher_id');
             $teacher = Teacher::find($teacher_id);
             if ($teacher->user->profiles()->where('name', '=', 'Director')->first()) {
                 Session::flash('error', 'No es posible eliminar al Director.');
                 return Redirect::to('people/edit_teacher/' . $teacher->id);
             }
             // verificar si existen nivel, cursos, incidentes de libreta y comunicados del profesor
             $exist_level = $teacher->level;
             $exist_courses = $teacher->courses;
             if ($exist_level) {
                 Session::flash('error', 'El Profesor es Tutor del Nivel ' . $exist_level->name . '. No es posible eliminarlo');
             } elseif (!$exist_courses->isEmpty()) {
                 Session::flash('error', 'Existen Cursos dictados por este Profesor. No es posible eliminarlo.');
             } else {
                 $user = $teacher->user;
                 $user->delete();
                 $teacher->delete();
                 // Llamo a la función para registrar el log de auditoria
                 $log_description = "Se eliminó el Profesor con id {{$teacher->id}}";
                 Helpers::registerLog(5, $log_description);
                 Session::flash('message', 'Se eliminó correctamente el Profesor.');
                 return Redirect::to('people/list_teachers');
             }
             return Redirect::to('people/edit_teacher/' . $teacher->id);
         } else {
             // Llamo a la función para registrar el log de auditoria
             $log_description = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'";
             Helpers::registerLog(10, $log_description);
             Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.');
             return Redirect::to('/dashboard');
         }
     } else {
         return View::make('error/error');
     }
 }