mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Editar usuario hecho. Control del acceso hecho. Falta add
This commit is contained in:
@ -81,9 +81,12 @@ class User extends BaseController
|
||||
'icon' => 'fas fa-save'
|
||||
];
|
||||
|
||||
$data['group'] = $this->group_user_model->select('token,title')->findAll();
|
||||
|
||||
$data['selected_groups'] = [];
|
||||
|
||||
$data['group'] = $this->group_model->select('token,title')->findAll();
|
||||
$data['country'] = $this->countries_model->select('code,name')->where('data_lang',session()->get('lang')??'en')->findAll();
|
||||
|
||||
|
||||
echo view(getenv('theme.path').'main/header');
|
||||
echo view(getenv('theme.path').'form/user/form',$data);
|
||||
echo view(getenv('theme.path').'main/footer');
|
||||
@ -157,7 +160,7 @@ class User extends BaseController
|
||||
$email = 'required|valid_email';
|
||||
|
||||
if(empty($this->request->getPost('id_user'))){
|
||||
$email = 'required|valid_email|is_unique[user.email]';
|
||||
$email = 'required|valid_email|is_unique[auth_user.email]';
|
||||
$password = 'required|min_length[8]';
|
||||
$confirm_password = 'matches[password]';
|
||||
}else{
|
||||
@ -270,13 +273,40 @@ class User extends BaseController
|
||||
return redirect()->to('/user');
|
||||
}else{
|
||||
if($session->get('id_user') == $this->request->getPost('id_user')){
|
||||
$access_rules = $this->group_model->select('rules')->where('token',$this->request->getPost('group')[0])->first();
|
||||
/*echo "<pre>";
|
||||
var_dump(json_decode(html_entity_decode($access_rules['rules'])));
|
||||
echo "</pre>" ;
|
||||
|
||||
dd();*/
|
||||
$session->set('rules', html_entity_decode($access_rules['rules']));
|
||||
// Get groups tokens
|
||||
$user_token = $this->user_model
|
||||
->select('token')
|
||||
->where('id_user',$this->request->getPost('id_user'))->first()['token'];
|
||||
$groups = $this->group_user_model
|
||||
->select('token_group')
|
||||
->where('token_user',$user_token)->findAll();
|
||||
|
||||
if (sizeof($groups)>1){
|
||||
|
||||
$access_rules = $this->group_model->select('rules')->where('token',$groups[0])->first()['rules'];
|
||||
$access_rules = json_decode(html_entity_decode($access_rules), true);
|
||||
for ($i=1; $i<sizeof($groups); $i++){
|
||||
$temp_rules = $this->group_model->select('rules')->where('token',$groups[$i])->first()['rules'];
|
||||
foreach ($access_rules as $key => $value){
|
||||
if (array_key_exists($key, json_decode(html_entity_decode($temp_rules), true))){
|
||||
$value2 = json_decode(html_entity_decode($temp_rules), true)[$key];
|
||||
$access_rules[$key] = array_unique(array_merge($value, $value2));
|
||||
}
|
||||
else{
|
||||
$access_rules[$key]= $value;
|
||||
}
|
||||
}
|
||||
foreach (json_decode(html_entity_decode($temp_rules), true) as $key2 => $value2){
|
||||
if (!array_key_exists($key2, $access_rules)){
|
||||
$access_rules[$key2] = $value2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
$access_rules = $this->group_model->select('rules')->where('token',$groups)->first();
|
||||
}
|
||||
$session->set('rules', html_entity_decode(json_encode($access_rules)));
|
||||
}
|
||||
$session->setFlashdata('sweet', ['success',lang("App.user_alert_edit")]);
|
||||
return redirect()->to('/user');
|
||||
|
||||
Reference in New Issue
Block a user