Inheritance: extends Illuminate\Database\Eloquent\Model
Exemplo n.º 1
0
 public function edit($id)
 {
     $user = User::findOrFail($id);
     $groups = UserGroup::lists('name_en', 'id');
     $workspaces = Workspace::lists('name', 'id');
     return view('users.edit', compact('user', 'groups', 'workspaces'));
 }
 public function run()
 {
     DB::table('user_groups')->delete();
     $names = ['游客', '新注册会员', '邮件认证会员', '中级会员', '高级会员', '禁止访问', '买家', '卖家', '买家&卖家'];
     foreach ($names as $name) {
         UserGroup::create(['name' => $name]);
     }
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     \App\Models\UserGroup::create(['name' => 'Super Admin']);
     \App\Models\UserGroup::create(['name' => 'Admin']);
     \App\Models\UserGroup::create(['name' => 'Clinic Manager']);
     \App\Models\UserGroup::create(['name' => 'Doctor']);
     \App\Models\UserGroup::create(['name' => 'User']);
 }
Exemplo n.º 4
0
 public function create()
 {
     $user = Auth::user();
     $userGroups = UserGroup::where('level', '>', $user->user_group_id)->lists('name_en', 'id');
     $designations = Designation::lists('name', 'id');
     $workspaces = Workspace::lists('name', 'id');
     return view('employees.create', compact('designations', 'workspaces', 'userGroups'));
 }
Exemplo n.º 5
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('user_groups')->truncate();
     $userGroups = [['name' => 'admin'], ['name' => 'cashier'], ['name' => 'waiter'], ['name' => 'kitchen']];
     foreach ($userGroups as $group) {
         \App\Models\UserGroup::create($group);
     }
 }
Exemplo n.º 6
0
 public function actionDelete()
 {
     $models = UserGroup::findAllByPk($_POST['UserGroup']);
     $no = 0;
     foreach ($models as $model) {
         $no += (int) $model->delete();
     }
     if ($no !== 1) {
         Messages::get()->success("{$no} groups deleted!");
     } else {
         Messages::get()->success("Group deleted!");
     }
     $this->getRequest()->goBack();
 }
Exemplo n.º 7
0
 public function getForEdit($id)
 {
     $data = [];
     $e = $this->empDto->findById($id);
     if ($e) {
         $ug = UserGroup::where('user_id', $e->user->id)->first();
         $data['empId'] = $e->id;
         $data['id_number'] = substr($e->id_number, 4);
         $data['first_name'] = $e->first_name;
         $data['middle_name'] = $e->middle_name;
         $data['last_name'] = $e->last_name;
         $data['sex'] = $e->sex;
         $data['birthday'] = $e->birthday;
         $data['email'] = $e->user->email;
         $data['shift'] = ['id' => $e->shift->id];
         $data['group'] = ['id' => $ug->group->id];
     }
     return $data;
 }
 public function sumRetentionData(UserGroup $userGroup, $sequence)
 {
     $retentionData = RetentionData::where('user_group_id', $userGroup->id)->where('sequence', $sequence)->first();
     if ($retentionData && $retentionData->fixed_flg) {
         return;
     }
     $date = $userGroup->user_grouping_date;
     $userDefinition = $this->item->project->userDefinition;
     $userTable = $userDefinition->table_name;
     $activityTable = $this->item->table_name;
     $value = DB::connection($this->item->project->db)->table($userTable)->join($activityTable, "{$userTable}.{$userDefinition->user_id_column}", '=', "{$activityTable}.{$this->item->user_id_column}")->whereRaw($this->item->other_criteria ? $this->item->other_criteria : 'TRUE')->where("{$userTable}.{$userDefinition->date_column}", '>=', $date)->where("{$userTable}.{$userDefinition->date_column}", '<', $this->getNextUserGroupDate($date))->whereRaw("{$activityTable}.{$this->item->date_column} >= {$userTable}.{$userDefinition->date_column} + INTERVAL {$this->item->getRetentionSpanOffset($sequence)}")->whereRaw("{$activityTable}.{$this->item->date_column} < {$userTable}.{$userDefinition->date_column} + INTERVAL {$this->item->getRetentionSpanOffset($sequence + 1)}")->count(DB::raw("DISTINCT {$activityTable}.{$this->item->user_id_column}"));
     $ret = DB::connection($this->item->project->db)->table($userTable)->where("{$userTable}.{$userDefinition->date_column}", '>=', $date)->where("{$userTable}.{$userDefinition->date_column}", '<', $this->getNextUserGroupDate($date))->selectRaw("MAX({$userTable}.{$userDefinition->date_column} + INTERVAL {$this->item->getRetentionSpanOffset($sequence + 1)}) < NOW() AS fixed_flg")->first();
     if (!$retentionData) {
         $retentionData = new RetentionData();
         $retentionData->sequence = $sequence;
         $retentionData->fixed_flg = $ret->fixed_flg;
     }
     $retentionData->value = $value;
     $userGroup->retentionDatas()->save($retentionData);
     //->get();
     //->getQueryLog();
     //print_r(DB::connection($this->item->project->db)->getQueryLog());
     //print_r( $value);
 }
Exemplo n.º 9
0
 function save(array $params)
 {
     $response = new ResponseEntity();
     DB::transaction(function () use(&$response, $params) {
         $empId = isset($params['empId']) ? intval($params['empId']) : 0;
         $idNumber = Config::get('hris_system.employee_id_prefix') . $params['id_number'];
         $existingEmp = Employee::with('user')->find($empId);
         // check for duplicate id_number
         $tempEmp = Employee::where('id_number', '=', $idNumber)->first();
         if ($tempEmp) {
             if (!$existingEmp) {
                 // new
                 $response->setMessages(['id_number' => ['Id number is already taken']]);
                 return $response;
             } else {
                 if ($existingEmp && $existingEmp->id != $tempEmp->id) {
                     // update
                     $response->setMessages(['id_number' => ['Id number is already taken']]);
                     return $response;
                 }
             }
         }
         if ($empId > 0 && !$existingEmp) {
             // check when updating
             $response->setMessages(['Employee is not available!']);
             return $response;
         } else {
             // employee user account
             $user = $existingEmp ? $existingEmp->user : new User();
             $user->email = $params['email'];
             if (!$existingEmp) {
                 // for new employee user account
                 $user->password = Hash::make($idNumber);
                 //default password is the ID Number of the employee
                 $user->active = '1';
             }
             $user->save();
             // clear user group
             UserGroup::where('user_id', $user->id)->delete();
             // assign group
             $ug = new UserGroup();
             $ug->user_id = $user->id;
             $ug->group_id = $params['group_id'];
             $ug->save();
             // employee records
             $employee = $existingEmp ? $existingEmp : new Employee();
             $employee->user_id = $user->id;
             $employee->id_number = $idNumber;
             $employee->first_name = $params['first_name'];
             $employee->last_name = $params['last_name'];
             if (isset($params['middle_name'])) {
                 $employee->middle_name = $params['middle_name'];
             }
             if (isset($params['supervisor_id'])) {
                 $employee->supervisor_id = $params['supervisor_id'];
             }
             $employee->sex = $params['sex'];
             $employee->birthday = Carbon::createFromFormat('m/d/Y', $params['birthday']);
             $employee->shift_id = $params['shift_id'];
             $employee->active = $existingEmp ? $existingEmp->active : '1';
             $ok = $employee->save();
             if ($ok) {
                 $response->setSuccess(true);
                 $response->setData(['empId' => $employee->id]);
                 $response->setMessages(['Employee successfully ' . ($existingEmp ? 'saved' : 'created')]);
             } else {
                 $response->setMessages(['Failed to ' . ($existingEmp ? 'save' : 'create') . ' employee!']);
             }
         }
     });
     return $response;
 }
Exemplo n.º 10
0
 public function create()
 {
     $groups = UserGroup::lists('name_en', 'id');
     return view('users.create', compact('groups'));
 }
Exemplo n.º 11
0
 /**
  * 关联用户组
  * @return [type] [description]
  */
 public function getGroup()
 {
     return UserGroup::findOne($this->groupid);
 }
Exemplo n.º 12
0
 /**
  * @param $userId
  * @return 1 if User is Administrator
  * @return 2 if User is Student
  * @return 3 if User is Teacher
  */
 public static function checkUserTypeByUserId($userId)
 {
     $userGroup = UserGroup::where('user_id', $userId)->get()->first();
     return $userGroup->group_id;
 }
Exemplo n.º 13
0
<?php

use App\Models\UserGroup;
use App\Models\UserDetails;
use App\Models\Groups;
$user_id = Auth::user()->id;
$user_group = UserGroup::where('user_id', '=', $user_id)->get()->first();
$userDetails = UserDetails::where('user_id', '=', $user_id)->get()->first();
$admin_group_id = Groups::Administrator_Group_ID;
$teacher_group_id = Groups::Teacher_Group_Id;
$student_group_id = Groups::Student_Group_Id;
?>
@section('upper-dropdown')
    <a data-toggle="dropdown" data-hover="dropdown" class="dropdown-toggle" data-close-others="true" href="#">
        @if($userDetails->pic == null)
            <img src="{{ URL::asset('assets/images/anonymous.jpg') }}" class="img-circle" alt="" width="30px"
                 height="30px" id="upper_dropdown_menu_profile_image">
        @else
            <img src="{{ URL::asset('school/images/user/profile_images/'.$userDetails->pic) }}" class="img-circle"
                 alt="" width="30px" height="30px" id="upper_dropdown_menu_profile_image">
        @endif
        <span class="username hidden-xs">{{ $userDetails->first_name }} {{ $userDetails->last_name }}</span> <i
                class="fa fa-caret-down "></i>
    </a>
@stop
@section('left-user-profile')
    <div class="inline-block">
        @if($userDetails->pic == null)
            <img src="{{ URL::asset('assets/images/anonymous.jpg') }}" class="img-circle" alt="" width="50px"
                 height="50px" id="left_menu_profile_image">
        @else
 public function run()
 {
     $handle = fopen($this->baseDir . 'users_groups_permissions.tsv', 'r');
     $headers = fgetcsv($handle, 1024, '	');
     $entityPermissions = array_fill_keys($headers, '');
     while (($data = fgetcsv($handle, 2048, '	')) != false) {
         reset($headers);
         foreach ($data as $val) {
             $entityPermissions[$headers[key($headers)]][] = $val;
             next($headers);
         }
     }
     fclose($handle);
     $groupList = Models\Group::getConstants();
     $permissionCategories = array();
     $permissionCategoryList = array();
     $permissionCategoryID = 1;
     $permissionEntities = array();
     $permissionEntityList = array();
     $permissionEntityID = 1;
     $permissionActions = array();
     $permissionActionList = array();
     $permissionActionID = 1;
     $permissionManagementActions = array();
     $permissionManagementActionList = array();
     $permissionManagementActionID = 1;
     $handle = fopen($this->baseDir . 'permission_entities_actions.tsv', 'r');
     fgetcsv($handle, 1024, '	');
     while (($data = fgetcsv($handle, 1024, '	')) != false) {
         if (!empty($data[3])) {
             if (!isset($permissionCategoryList[$data[3]])) {
                 $permissionCategoryList[$data[3]] = $permissionCategoryID++;
                 $permissionCategories[] = ['name' => $data[3]];
             }
         }
         $permissionEntities[] = ['name' => $data[0], 'permission_category_id' => $permissionCategoryList[$data[3]]];
         $permissionEntityList[$data[0]] = $permissionEntityID;
         $tmp = explode(';', $data[1]);
         foreach ($tmp as $item) {
             $permissionActions[] = array('name' => $item, 'permission_entity_id' => $permissionEntityID);
             $permissionActionList[$data[0]][$item] = $permissionActionID++;
         }
         $tmp = explode(';', $data[2]);
         foreach ($tmp as $item) {
             $permissionManagementActions[] = array('name' => $item, 'permission_entity_id' => $permissionEntityID);
             $permissionManagementActionList[$data[0]][$item] = $permissionManagementActionID++;
         }
         $permissionEntityID++;
     }
     fclose($handle);
     $permissionGroup = array();
     $permissionManagementGroup = array();
     $permissionManagementID = 1;
     $permissionManagement = array();
     $permissionID = 1;
     $permission = array();
     $permissionListForUserInGroup = array();
     $permissionManagementListForUserInGroup = array();
     reset($entityPermissions);
     $permissionGroupList = $entityPermissions[key($entityPermissions)];
     next($entityPermissions);
     while (list($entity, $val) = each($entityPermissions)) {
         if (strpos($entity, '_management') !== false) {
             foreach ($val as $groupKey => $actions) {
                 $tmp = explode(';', $actions);
                 foreach ($tmp as $item) {
                     if (!empty($item)) {
                         $permissionManagement[] = array('permission_management_action_id' => $permissionManagementActionList[str_replace('_management', '', $entity)][$item], 'permission_recipient_type_id' => Models\PermissionRecipientType::group);
                         $permissionManagementGroup[] = array('type_id' => $groupList[$permissionGroupList[$groupKey]], 'permission_management_id' => $permissionManagementID++);
                         $permissionManagementListForUserInGroup[$groupList[$permissionGroupList[$groupKey]]][] = array('permission_management_action_id' => $permissionManagementActionList[str_replace('_management', '', $entity)][$item], 'permission_recipient_type_id' => Models\PermissionRecipientType::user);
                     }
                 }
             }
         } else {
             foreach ($val as $groupKey => $actions) {
                 $tmp = explode(';', $actions);
                 foreach ($tmp as $item) {
                     if (!empty($item)) {
                         $permission[] = array('permission_action_id' => $permissionActionList[$entity][$item], 'permission_recipient_type_id' => Models\PermissionRecipientType::group);
                         $permissionGroup[] = array('type_id' => $groupList[$permissionGroupList[$groupKey]], 'permission_id' => $permissionID++);
                         $permissionListForUserInGroup[$groupList[$permissionGroupList[$groupKey]]][] = array('permission_action_id' => $permissionActionList[$entity][$item], 'permission_recipient_type_id' => Models\PermissionRecipientType::user);
                     }
                 }
             }
         }
     }
     $permissionUser = array();
     $permissionManagementUser = array();
     $alreadyGivenPermissions = $alreadyGivenManagementPermissions = [];
     $userGroups = Models\UserGroup::all();
     foreach ($userGroups as $userGroup) {
         if (isset($permissionListForUserInGroup[$userGroup->group_id])) {
             foreach ($permissionListForUserInGroup[$userGroup->group_id] as $p) {
                 if (!isset($alreadyGivenPermissions[$userGroup->user_id][$p['permission_action_id']])) {
                     $alreadyGivenPermissions[$userGroup->user_id][$p['permission_action_id']] = true;
                     $permission[] = $p;
                     $permissionUser[] = ['type_id' => $userGroup->user_id, 'permission_id' => $permissionID++];
                 }
             }
         }
         if (isset($permissionManagementListForUserInGroup[$userGroup->group_id])) {
             foreach ($permissionManagementListForUserInGroup[$userGroup->group_id] as $p) {
                 if (!isset($alreadyGivenManagementPermissions[$userGroup->user_id][$p['permission_management_action_id']])) {
                     $alreadyGivenManagementPermissions[$userGroup->user_id][$p['permission_management_action_id']] = true;
                     $permissionManagement[] = $p;
                     $permissionManagementUser[] = ['type_id' => $userGroup->user_id, 'permission_management_id' => $permissionManagementID++];
                 }
             }
         }
     }
     DB::table('permission_recipient_types')->insert([['name' => 'group'], ['name' => 'user']]);
     DB::table('permission_categories')->insert($permissionCategories);
     DB::table('permission_entities')->insert($permissionEntities);
     DB::table('permission_actions')->insert($permissionActions);
     DB::table('permission_management_actions')->insert($permissionManagementActions);
     DB::table('permission_management')->insert($permissionManagement);
     DB::table('permission_management_groups')->insert($permissionManagementGroup);
     DB::table('permission_management_users')->insert($permissionManagementUser);
     DB::table('permissions')->insert($permission);
     DB::table('permission_groups')->insert($permissionGroup);
     DB::table('permission_users')->insert($permissionUser);
     $this->command->info('Permissions seeded');
     /**
      * Entitites for which permissions don't need to be checked have a permission_entity_id of 0.
      *
      */
     $dashboard = ['name' => 'entities.dashboard', 'icon' => 'fa fa-dashboard fa-fw', 'route' => 'admin.dashboard'];
     $sentinel = ['name' => 'entities.sentinel', 'icon' => 'fa fa-key fa-fw', 'children' => [['name' => 'entities.users', 'permission_entity_id' => isset($permissionEntityList['user']) ? $permissionEntityList['user'] : 0, 'route' => 'admin.user.index'], ['name' => 'entities.groups', 'permission_entity_id' => isset($permissionEntityList['group']) ? $permissionEntityList['group'] : 0, 'route' => 'admin.group.index']]];
     $spirit = ['name' => 'entities.spirit', 'icon' => 'fa fa-bullhorn fa-fw', 'children' => [['name' => 'entities.people', 'permission_entity_id' => isset($permissionEntityList['person']) ? $permissionEntityList['person'] : 0, 'route' => 'admin.person.index']]];
     Models\System\BackendMainMenu::create($dashboard);
     Models\System\BackendMainMenu::create($sentinel);
     Models\System\BackendMainMenu::create($spirit);
     $this->command->info('Menu items seeded');
 }
Exemplo n.º 15
0
<?php

$actions = array('index' => 'View All', 'create' => 'New User');
$menu = array();
foreach ($actions as $action => $label) {
    $menu[] = array('url' => array('users', $action), 'label' => $label, 'htmlOptions' => $action == $this->getActiveAction() ? array('class' => 'selected') : array());
}
echo \app\components\htmltools\Page::title('Users - Edit', $menu);
echo \mpf\widgets\form\Form::get(array('name' => 'save', 'model' => $model, 'theme' => 'default-wide', 'fields' => array('name', 'email', array('name' => 'title_id', 'type' => 'select', 'options' => \mpf\helpers\ArrayHelper::get()->transform(\app\models\UserTitle::findAll(), array('id' => 'title'))), array('name' => 'status', 'type' => 'radio', 'options' => array(\app\models\User::STATUS_ACTIVE => 'Active', \app\models\User::STATUS_BLOCKED => 'Blocked')), array('name' => 'groupIDs', 'type' => 'checkbox', 'options' => \mpf\helpers\ArrayHelper::get()->transform(\app\models\UserGroup::findAll(), array('id' => 'label'))))))->display();
Exemplo n.º 16
0
 public function getUserGroup()
 {
     return UserGroup::where('UserID', $this->UserID)->where('Default', 'Y');
 }
Exemplo n.º 17
0
 public function postCreateMobileApp(Request $request)
 {
     $email = $request->input('email');
     $password = $request->input('password');
     $password_again = $request->input('password_again');
     $group_to_register_in = $request->input('group_to_register_in');
     $inputs = ['email' => $email, 'password' => $password, 'password_again' => $password_again, 'group_to_register_in' => $group_to_register_in];
     $validator = validator::make($request->all(), ['email' => 'required|unique:users|email', 'password' => 'required|max:16|min:6', 'password_again' => 'required|same:password', 'group_to_register_in' => 'required|in:1,2,3']);
     if ($validator->fails()) {
         return ApiResponseClass::errorResponse('You Have Some Input Errors', $inputs, $validator->errors());
     }
     $group_id = null;
     if ($group_to_register_in == Groups::Student_Group_Id) {
         $group_id = Groups::Student_Group_Id;
     } elseif ($group_to_register_in == Groups::Administrator_Group_ID) {
         $group_id = Groups::Administrator_Group_ID;
     } elseif ($group_to_register_in == Groups::Teacher_Group_Id) {
         $group_id = Groups::Teacher_Group_Id;
     }
     DB::beginTransaction();
     try {
         Groups::findorFail($group_id);
         $user = new User();
         $user->email = $email;
         $user->password = Hash::make($password);
         $user->activated = 0;
         $user->email_updated_at = date("Y-m-d h:i:s");
         $user->password_updated_at = date("Y-m-d h:i:s");
         $user->activation_code = str_random(64);
         if (!$user->save()) {
             throw new \ErrorException();
         }
         $user_group = new UserGroup();
         $user_group->user_id = $user->id;
         $user_group->group_id = $group_id;
         if (!$user_group->save()) {
             throw new \ErrorException();
         }
         DB::commit();
     } catch (ModelNotFoundException $e) {
         DB::rollback();
         return ApiResponseClass::errorResponse('ModelNotFoundException', $inputs);
     } catch (\ErrorException $e) {
         DB::rollback();
         return ApiResponseClass::errorResponse('ModelNotSavedException', $inputs);
     }
     // Send mail to the user if not the test Shop Id.
     return ApiResponseClass::successResponse($user, $inputs);
 }
Exemplo n.º 18
0
 /**
  * Update db connection to selected groups
  * @return $this
  */
 public function saveGroups()
 {
     $old = ArrayHelper::get()->transform($this->groups, 'name');
     WebApp::get()->sql()->table('users2groups')->where("user_id = :id")->setParam(':id', $this->id)->delete();
     $connectionTable = WebApp::get()->sql()->table('users2groups');
     foreach ($this->groupIDs as $id) {
         $connectionTable->insert(array('user_id' => $this->id, 'group_id' => $id));
     }
     $new = ArrayHelper::get()->transform(UserGroup::findAllByPk($this->groupIDs), 'name');
     $this->logAction(UserHistory::ACTION_GROUPS, "Old: " . implode(", ", $old) . "\nNew: " . implode(", ", $new));
     return $this;
 }