예제 #1
0
 private function loginAsAnonymous($userName)
 {
     $this->load->model('user_m');
     $user = new User_m();
     $results = $user->authenticateAsAnonymous($userName);
     if (count($results) == 1) {
         $this->load->library('session');
         $this->session->set_userdata(array('userId' => $results[0]->id, 'userName' => $results[0]->name, 'userRole' => $results[0]->user_role));
         $this->load->model('permission_m');
         $permision = new Permission_m();
         $results = $permision->getAlowedURLsByUserRole($results[0]->user_role);
         $resultsArray = array();
         foreach ($results as $key => $value) {
             $resultsArray[] = $value->url;
         }
         $this->session->set_userdata(array('permissions' => $resultsArray));
         $this->output->set_status_header('200');
     } else {
         $this->output->set_status_header('401');
     }
 }
예제 #2
0
 function group($id = '', $back_from = '')
 {
     $data['page_name'] = '<b>Permissions</b>';
     $data['legend'] = '<b>Edit Permissions for Group</b>';
     $data['focus_field'] = '';
     $data['msg'] = '';
     $data['row'] = $g = $this->group->find($id);
     $data['legend'] .= ' "' . $g->name . '"';
     $this->load->config('permissions');
     $data['permissions'] = $this->config->item('permissions');
     $data['group_id'] = $id;
     if ($back_from == 'groups') {
         $data['back_from'] = 'groups';
     }
     //print_r(array_combine($hours = range(0, 23), $hours));
     if (Input::get('op')) {
         if (Input::get('modules')) {
             foreach (Input::get('main_modules') as $module) {
                 $p = new Permission_m();
                 $p->where('group_id', $id);
                 $p->where('module', $module)->get();
                 $p->group_id = $id;
                 $p->module = $module;
                 $p->roles = Input::get($module) ? json_encode(Input::get($module)) : NULL;
                 $p->save();
                 // If no methods selected
                 // Remove the module from permissions table
                 if ($p->roles == NULL) {
                     $p = new Permission_m();
                     $p->where('group_id', $id);
                     $p->where('module', $module)->get();
                     $p->delete();
                 }
             }
             $data['msg'] = 'Permissions has been saved!';
         }
     }
     $data['main_content'] = 'group';
     return View::make('includes/template', $data);
 }
예제 #3
0
	  <?php 
    $class = 'class="select_all" module="' . $module_key . '"';
    $has_module_access = $p->has_module_access($group_id, $module_key);
    echo form_checkbox('modules[]', $module_key, $has_module_access, $class);
    echo form_hidden('main_modules[]', $module_key);
    ?>
      </td>
      <td valign="top"><b><?php 
    echo $row['name'];
    ?>
</b></td>
      <td>
     <?php 
    $class = 'class="' . $module_key . '"';
    foreach ($row['roles'] as $key => $val) {
        $p = new Permission_m();
        $p->where('module', $module_key);
        $p->where('group_id', $group_id);
        $roles = $p->get();
        $checked = FALSE;
        $module_roles = json_decode($roles->roles);
        if (is_array($module_roles)) {
            if (in_array($key, $module_roles)) {
                $checked = TRUE;
            } else {
                $checked = FALSE;
            }
        }
        $font = 'black';
        if ($checked == FALSE) {
            $font = 'red';
예제 #4
0
  </tr>
  <tr class="type-one-header">
    <th width="7%" bgcolor="#D6D6D6">Date</th>
    <th width="7%" bgcolor="#D6D6D6"><strong>Employee No.</strong></th>
    <th width="18%" bgcolor="#D6D6D6"><strong>Employee Name</strong></th>
    <th width="8%" bgcolor="#D6D6D6">AM Login</th>
    <th width="9%" bgcolor="#D6D6D6">AM Logout </th>
    <th width="8%" bgcolor="#D6D6D6">PM Login</th>
    <th width="9%" bgcolor="#D6D6D6">PM Logout </th>
    <th width="9%" bgcolor="#D6D6D6">OT Login</th>
    <th width="8%" bgcolor="#D6D6D6">OT Logout </th>
    <th width="17%" bgcolor="#D6D6D6">OB/LEAVE</th>
  </tr>
  
  <?php 
$p = new Permission_m();
$permissions = $p->get_by_group_id(Session::get('group_id'));
$read_only = FALSE;
foreach ($permissions as $permission) {
    if ($permission->module == 'attendance') {
        $users_methods_access = json_decode($permission->roles);
        if (in_array('view_attendance_only', $users_methods_access)) {
            $read_only = TRUE;
        }
    }
}
?>
  
  <?php 
//number of results
$id = 1;
예제 #5
0
 function print_user_access()
 {
     if ($this->ci->input->is_ajax_request()) {
         return;
     }
     return;
     $u = new User_m();
     $u->get_by_username($this->ci->session->userdata('username'));
     $u->get();
     $p = new Permission_m();
     $permissions = $p->get_by_group_id($u->group_id);
     foreach ($this->permissions as $permission) {
         echo '<br>' . $permission->module;
         $methods = json_decode($permission->roles);
         $i = 0;
         if (is_array($methods)) {
             foreach ($methods as $method) {
                 if ($i == 0) {
                     echo '<br>----';
                     $i++;
                 }
                 echo $method . ', ';
             }
         }
         //print_r($methods);
     }
     //print_r( $this->user_access);
 }
 function up()
 {
     $lgu_code = Setting::getField('lgu_code');
     if ($lgu_code == 'marinduque_province') {
         $u = new User_m();
         $u->where('group_id !=', 1000);
         $users = $u->get();
         foreach ($users as $user) {
             //echo $user->user_type;
             //echo $user->group_id;
             // Lets update the
             $us = new User_m();
             $us->get_by_id($user->id);
             $us->group_id = $user->user_type;
             $us->save();
             // Lets assign permission
             if ($user->group_id == 5) {
                 $p = new Permission_m();
                 $p->where('group_id', $user->group_id);
                 $p->where('module', 'attendance')->get();
                 $p->group_id = $user->group_id;
                 $p->module = 'attendance';
                 $p->roles = json_encode(array('view_attendance', 'dtr'));
                 $p->save();
                 $p = new Permission_m();
                 $p->where('group_id', $user->group_id);
                 $p->where('module', 'leave_manage')->get();
                 $p->group_id = $user->group_id;
                 $p->module = 'leave_manage';
                 $p->roles = json_encode(array('file_leave', 'leave_apps', 'reports'));
                 $p->save();
                 $p = new Permission_m();
                 $p->where('group_id', $user->group_id);
                 $p->where('module', 'manual_manage')->get();
                 $p->group_id = $user->group_id;
                 $p->module = 'manual_manage';
                 $p->roles = json_encode(array('cto', 'cto_apps'));
                 $p->save();
             }
             if ($user->group_id == 3) {
                 $p = new Permission_m();
                 $p->where('group_id', $user->group_id);
                 $p->where('module', 'attendance')->get();
                 $p->group_id = $user->group_id;
                 $p->module = 'attendance';
                 $p->roles = json_encode(array('view_attendance', 'dtr', 'jo', 'double_entries', 'view_absences', 'view_late', 'view_ob', 'view_tardiness', 'view_ten_tardiness'));
                 $p->save();
                 $p = new Permission_m();
                 $p->where('group_id', $user->group_id);
                 $p->where('module', 'manual_manage')->get();
                 $p->group_id = $user->group_id;
                 $p->module = 'manual_manage';
                 $p->roles = json_encode(array('login', 'cto', 'cto_apps', 'cto_forward_balance', 'office_pass'));
                 $p->save();
             }
         }
         if ($this->db->table_exists('groups')) {
             $g = new Group_m();
             $g->get();
             // We will populate only if the groups
             // table is empty
             if (!$g->exists()) {
                 $this->db->order_by('id');
                 $q = $this->db->get('user_group');
                 if ($q->num_rows() > 0) {
                     foreach ($q->result_array() as $row) {
                         $g = new Group_m();
                         $g->name = $row['name'];
                         $g->description = $row['description'];
                         $g->save();
                     }
                 }
             }
         }
     }
 }