Files
accounting_dev_v2/application/migrations/20260911000500_add_technician_condition_permission.php
T
2026-09-11 16:03:00 +07:00

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