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); }
$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'; }
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(); } } } } } }