8 lines
800 B
PHP
8 lines
800 B
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
class Migration_Add_technician_condition_permission extends CI_Migration
|
|
{
|
|
public function up(){if(!$this->db->table_exists('roles'))return;foreach($this->db->get('roles')->result()as$role){$p=json_decode((string)$role->permissions,true);if(!is_array($p)||isset($p['technician_condition']))continue;$source=$p['technician_inspection']??($p['items']??array());$allowed=array_values(array_intersect((array)$source,array('can_view','can_update','can_post')));if($allowed){$p['technician_condition']=$allowed;$this->db->where('id',$role->id)->update('roles',array('permissions'=>json_encode($p),'updated_at'=>date('Y-m-d H:i:s')));}}}
|
|
public function down(){throw new RuntimeException('Permission kondisi dipertahankan.');}
|
|
}
|