Add user OK. Tabla de user modificada para mostrar todos los grupos

This commit is contained in:
Jaime Jimenez
2023-04-25 20:12:19 +02:00
parent 92bf19f2d5
commit 23a73e38ee
6 changed files with 2089 additions and 32 deletions

File diff suppressed because it is too large Load Diff

View File

@ -56,24 +56,27 @@ class Ajax extends ResourceController
//Total number of records without filtering
$totalRecords = $this->user_model->select('id_user')
->join('auth_user_group','auth_user_group.token = auth_user.group')
//->join('auth_user_group','auth_user_group.token = auth_user.group')
->countAllResults();
//Total number of records with filtering
$totalRecordwithFilter = $this->user_model->select('id_user')
->join('auth_user_group','auth_user_group.token = auth_user.group')
//->join('auth_user_group','auth_user_group.token = auth_user.group')
->orLike('first_name', $searchValue)
->orLike('email', $searchValue)
->countAllResults();
//Fetch records
$records = $this->user_model->select('auth_user.*,auth_user_group.title')
->join('auth_user_group','auth_user_group.token = auth_user.group')
//$records = $this->user_model->select('auth_user.*,auth_user_group.title')
$records = $this->user_model->select('auth_user.*')
//->join('auth_user_group','auth_user_group.token = auth_user.group')
->orLike('first_name', $searchValue)
->orLike('email', $searchValue)
->orderBy($columnName,$columnSortOrder)
->findAll($rowperpage, $start);
//Format records
foreach ($records as $key => $value){
if($records[$key]['email_confirmed'] == 1){
@ -96,10 +99,26 @@ class Ajax extends ResourceController
//Data records
$data = array();
foreach($records as $record ){
$groups_token = $this->group_user_model->select('token_group')
->where('token_user',$record['token'])
->findAll();
$groups_names = [];
foreach($groups_token as $g_t){
$title = $this->group_model->select('title')
->where('token',$g_t)
->first()['title'];
array_push($groups_names, $title);
}
$data[] = array(
"first_name"=>$record['first_name'],
"email"=>$record['email'],
"group"=>$record['title'],
"group"=>$groups_names,//JJO$record['title'],
"mobile"=>$record['mobile'],
"last_access"=>$record['last_access'],
"last_ip"=>$record['last_ip'],

View File

@ -224,7 +224,7 @@ class login extends BaseController
// Save data in session
$session->set('id_user', $login['id_user']);
$session->set('group', $login['group']);
//$session->set('group', $login['group']);
$session->set('first_name', $login['first_name']);
$session->set('last_name', $login['last_name']);
$session->set('email', $login['email']);
@ -237,7 +237,7 @@ class login extends BaseController
}
$session->set('dashboard', $dashboard);
$session->set('rules', html_entity_decode($rules['rules']));
$session->set('rules', html_entity_decode(json_encode($rules)));
$session->set('picture', $login['picture']);
$session->set('tfa', $login['tfa']);
$session->set('tfa_secret', $login['tfa_secret']);

View File

@ -43,36 +43,41 @@ class Test extends BaseController
);
} */
$user_token = 'c0bf18621f78cb2ffc4a67cf8d5173c7';
$groups_token = $this->group_user_model->select('token_group')
->where('token_user',$user_token)
->findAll();
$rules1 = '{"token":["token"],"Group":["index","add","edit","store","delete"],"My":["index","notification","notification_view"],"Notification":["index","add","store","delete"],"Profile":["index","store"],"User":["index","add","edit","store","delete"]}';
$rules2 = '{"token":["token"],"Activity":["index"],"Group":["edit"],"My":["notification"]}';
$new_rules = [];
$groups_names = [];
foreach($groups_token as $g_t){
$title = $this->group_model->select('title')
->where('token',$g_t)
->first()['title'];
array_push($groups_names, $title);
}
echo '<pre>';
var_dump($rules1);
var_dump(json_decode($rules1, true));
var_dump($groups_names);
echo '</pre>';
dd();
//Total number of records without filtering
$totalRecords = $this->user_model->select('id_user')
->join('auth_user_group','auth_user_group.token = auth_user.group')
->countAllResults();
//Total number of records with filtering
$totalRecordwithFilter = $this->user_model->select('id_user')
->join('auth_user_group','auth_user_group.token = auth_user.group')
->orLike('first_name', $searchValue)
->orLike('email', $searchValue)
->countAllResults();
foreach (json_decode($rules1, true) as $key => $value){
if (array_key_exists($key, json_decode($rules2, true))){
$value2 = json_decode($rules2, true)[$key];
$new_rules[$key] = array_unique(array_merge($value, $value2));
}
else{
$new_rules[$key]= $value;
}
}
foreach (json_decode($rules2, true) as $key2 => $value2){
if (!array_key_exists($key2, json_decode($rules1, true))){
$new_rules[$key2] = $value2;
}
}
echo '<pre>';
var_dump($new_rules);
echo '</pre>';

View File

@ -204,7 +204,7 @@ class User extends BaseController
$phpass = new PasswordHash(8, true);
$this->user_model->save([
'id_user' => null,
'group' => $this->request->getPost('group'),
//'group' => $this->request->getPost('group'),
'first_name' => $this->request->getPost('first_name'),
'last_name' => $this->request->getPost('last_name'),
'date_birth' => $date_birth,

View File

@ -0,0 +1,19 @@
<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class RemoveGroupFromUser extends Migration
{
public function up()
{
$this->forge->dropColumn('auth_user', ['group']);
}
public function down()
{
$sql = "ALTER TABLE `auth_user` ADD `group` varchar(216) COLLATE latin1_general_ci;";
$this->db->query($sql);
}
}