MERGE_EMPLOYEE_MODULE_WITH_NEW_UI
This commit is contained in:
commit
d8a2ea435b
30
.env.sample
30
.env.sample
@ -20,7 +20,7 @@ CI_ENVIRONMENT = development
|
||||
# APP
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
app.baseURL = 'https://localhost/PHP828APPS/ruc/ci4/'
|
||||
app.baseURL = 'http://localhost/nhance/'
|
||||
# If you have trouble with `.`, you could also use `_`.
|
||||
# app_baseURL = ''
|
||||
# app.forceGlobalSecureRequests = false
|
||||
@ -30,18 +30,20 @@ app.baseURL = 'https://localhost/PHP828APPS/ruc/ci4/'
|
||||
# DATABASE
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
database.default.hostname = localhost
|
||||
database.default.database = ruc
|
||||
database.default.username = root
|
||||
database.default.password =
|
||||
|
||||
|
||||
database.default.hostname = 119.18.54.85
|
||||
database.default.database = venbaehn_nhance
|
||||
database.default.username = venbaehn_nhance_user1
|
||||
database.default.password = 'iM~X7(cR+}A-'
|
||||
# database.default.DBDriver = MySQLi
|
||||
# database.default.DBPrefix =
|
||||
# database.default.port = 3306
|
||||
|
||||
# database.tests.hostname = localhost
|
||||
# database.tests.database = ci4_test
|
||||
# database.tests.username = root
|
||||
# database.tests.password = root
|
||||
database.default.hostname = 119.18.54.85
|
||||
database.default.database = venbaehn_nhance
|
||||
database.default.username = venbaehn_nhance_user1
|
||||
database.default.password = 'iM~X7(cR+}A-'
|
||||
# database.tests.DBDriver = MySQLi
|
||||
# database.tests.DBPrefix =
|
||||
# database.tests.port = 3306
|
||||
@ -141,3 +143,13 @@ database.default.password =
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# curlrequest.shareOptions = true
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Google-OAUTH-Credentials
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
GOOGLE_OAUTH_APP_NAME = 'OAuth'
|
||||
GOOGLE_OAUTH_CLIENT_ID = '696241936560-m2mr272ge7vr2n4q36c22l3d2gdgi90l.apps.googleusercontent.com'
|
||||
GOOGLE_OAUTH_CLIENT_SECRET = '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'
|
||||
GOOGLE_OAUTH_REDIRECT_URI = 'http://localhost/nhance/oauth2callback'
|
||||
GOOGLE_OAUTH_SCOPES = "https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/userinfo.profile"
|
||||
|
||||
@ -99,5 +99,5 @@ class Autoload extends AutoloadConfig
|
||||
* @var string[]
|
||||
* @phpstan-var list<string>
|
||||
*/
|
||||
public $helpers = ['uuid','session','utility', 'form', 'url', 'oauth'];
|
||||
public $helpers = ['uuid','session','utility', 'form', 'url', 'oauth', 'fileupload'];
|
||||
}
|
||||
|
||||
@ -32,30 +32,33 @@ $routes->group("/client", ["filter" => "authMVC"], function($routes){
|
||||
|
||||
$routes->get("list", "ClientController::index");
|
||||
$routes->get("create", "ClientController::clientOnboarding");
|
||||
$routes->get("list/(:any)", "ClientController::editClientOnboarding/$1");
|
||||
|
||||
$routes->group("general", ["filter" => "authMVC"], function($routes){
|
||||
$routes->get("create", "ClientController::clientGeneralInfoData");
|
||||
$routes->post("create", "ClientController::createClientGeneralInfo");
|
||||
$routes->post("create", "ClientController::createClientGeneralInfo");
|
||||
$routes->post("edit", "ClientController::editClientGeneralInfo");
|
||||
});
|
||||
$routes->group("relation", ["filter" => "authMVC"], function($routes){
|
||||
$routes->get("list", "ClientController::index");
|
||||
$routes->get("create", "ClientController::clientCreate");
|
||||
$routes->post("create", "ClientController::clientCreate");
|
||||
});
|
||||
|
||||
$routes->group("branch", ["filter" => "authMVC"], function($routes){
|
||||
$routes->get("list", "ClientController::index");
|
||||
$routes->get("create", "ClientController::clientCreate");
|
||||
$routes->post("create", "ClientController::clientCreate");
|
||||
});
|
||||
$routes->post("create", "ClientController::createClientBranch");
|
||||
$routes->post("edit", "ClientController::editClientBranch");
|
||||
$routes->get("list/(:any)", "ClientController::getSingleBranchDataById/$1");
|
||||
});
|
||||
|
||||
$routes->group("relation", ["filter" => "authMVC"], function($routes){
|
||||
$routes->post("create", "ClientController::createClientRelation");
|
||||
$routes->post("edit", "ClientController::editClientRelation");
|
||||
});
|
||||
$routes->group("policy", ["filter" => "authMVC"], function($routes){
|
||||
$routes->get("list", "ClientController::index");
|
||||
$routes->get("create", "ClientController::clientCreate");
|
||||
$routes->post("create", "ClientController::clientCreate");
|
||||
$routes->post("create", "ClientController::createClientPolicy");
|
||||
$routes->post("edit", "ClientController::editClientPolicy");
|
||||
$routes->get("list/(:any)", "ClientController::getClientPolicyById/$1");
|
||||
});
|
||||
$routes->group("kyc", ["filter" => "authMVC"], function($routes){
|
||||
$routes->get("list", "ClientController::index");
|
||||
$routes->get("create", "ClientController::clientCreate");
|
||||
$routes->post("create", "ClientController::clientCreate");
|
||||
$routes->post("create", "ClientController::createClientKYCInfo");
|
||||
$routes->post("edit", "ClientController::editClientKYCInfo");
|
||||
$routes->get("list/(:any)", "ClientController::getKycDocsById/$1");
|
||||
$routes->get("delete/(:any)", "ClientController::deleteClientKycDocs/$1");
|
||||
});
|
||||
});
|
||||
|
||||
@ -69,6 +72,8 @@ $routes->group("/employee", ["filter" => "authMVC"], function($routes){
|
||||
|
||||
$routes->group("/util", ["filter" => "authMVC"], function($routes){
|
||||
$routes->get("clients-with-policies", "EmployeeController::getClientWithPolicies");
|
||||
$routes->get("police-by-insurer/(:any)", "ClientController::getPolicesByInsurerId/$1");
|
||||
});
|
||||
|
||||
$routes->cli('processjob', 'JobWorker::processJob');
|
||||
$routes->cli('processjob', 'JobWorker::processJob');
|
||||
|
||||
|
||||
@ -71,7 +71,7 @@ class Security extends BaseConfig
|
||||
*
|
||||
* Regenerate CSRF Token on every submission.
|
||||
*/
|
||||
public bool $regenerate = true;
|
||||
public bool $regenerate = false;
|
||||
|
||||
/**
|
||||
* --------------------------------------------------------------------------
|
||||
|
||||
@ -6,6 +6,7 @@ use CodeIgniter\HTTP\IncomingRequest;
|
||||
use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use CodeIgniter\API\ResponseTrait;
|
||||
|
||||
use App\Models\UserModel;
|
||||
use App\Models\ClientModel;
|
||||
@ -21,10 +22,14 @@ use App\Models\LevelContactModel;
|
||||
use App\Models\PolicesModel;
|
||||
use App\Models\TPABranchModel;
|
||||
use App\Models\TPAModel;
|
||||
use App\Models\StateModel;
|
||||
|
||||
|
||||
class ClientController extends AdminController
|
||||
{
|
||||
{
|
||||
use ResponseTrait;
|
||||
|
||||
protected $myLogger;
|
||||
protected $clientModel;
|
||||
protected $userModel;
|
||||
protected $clientBranchModel;
|
||||
@ -39,12 +44,14 @@ class ClientController extends AdminController
|
||||
protected $policesModel;
|
||||
protected $tpaBranchModel;
|
||||
protected $tpaModel;
|
||||
protected $stateModel;
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
set_session_context('Client');
|
||||
$this->myLogger = \Config\Services::mylogger();
|
||||
|
||||
$this->clientModel = new ClientModel();
|
||||
$this->userModel = new UserModel();
|
||||
$this->clientBranchModel = new ClientBranchModel();
|
||||
@ -59,33 +66,431 @@ class ClientController extends AdminController
|
||||
$this->policesModel = new PolicesModel();
|
||||
$this->tpaBranchModel = new TPABranchModel();
|
||||
$this->tpaModel = new TPAModel();
|
||||
$this->stateModel = new StateModel();
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
echo view('layout/header');
|
||||
echo view('client_list');
|
||||
$this->myLogger->logme('error','Client list function called');
|
||||
$headerData['page_name'] = 'Client List';
|
||||
$data['clientList'] = $this->clientModel->getCreatedByUserName();
|
||||
$data['client_rm'] = $this->clientRMModel->getAllClientRM();
|
||||
// echo '<pre>';
|
||||
// print_r($data); die;
|
||||
echo view('layout/header', $headerData);
|
||||
echo view('client_list', $data);
|
||||
echo view('layout/footer');
|
||||
|
||||
// $this->loadLayout('client_onboarding', $data);
|
||||
}
|
||||
|
||||
public function clientOnboarding(){
|
||||
public function clientOnboarding()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client Onboarding function called');
|
||||
$headerData['page_name'] = 'Client Onboarding';
|
||||
|
||||
$data['contact_level'] = ['1'=>'level 1', '2'=>'level 2', '3'=>'level 3'];
|
||||
$data['entity'] = $this->kycEntityTypeModel->findAll();
|
||||
$data['kyc_docs'] = $this->kycDocsModel->findAll();
|
||||
$data['police'] = $this->policesModel->findAll();
|
||||
$data['insurer'] = $this->insurerBranchModel ->getInsurerBranchesWithInsurerNames();
|
||||
$data['tpa'] = $this->tpaBranchModel ->getTpaBranchesWithTpaNames();
|
||||
$data['state'] = $this->stateModel->getAllStates();
|
||||
$data['RM'] = $this->userModel->findAll();
|
||||
|
||||
echo view('layout/header');
|
||||
|
||||
// echo "<pre>";
|
||||
// print_r($data); die;
|
||||
|
||||
echo view('layout/header', $headerData);
|
||||
echo view('client_onboarding', $data);
|
||||
echo view('layout/footer');
|
||||
|
||||
// $this->loadLayout('client_onboarding', $data);
|
||||
}
|
||||
|
||||
|
||||
public function createClientGeneralInfo(){
|
||||
|
||||
public function editClientOnboarding($id = null)
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Edit Client Onboarding function called');
|
||||
$headerData['page_name'] = 'Edit Client Onboarding';
|
||||
|
||||
$editData['RM'] = $this->userModel->findAll();
|
||||
$editData['tpa'] = $this->tpaBranchModel ->getTpaBranchesWithTpaNames();
|
||||
$editData['state'] = $this->stateModel->getAllStates();
|
||||
$editData['police'] = $this->policesModel->findAll();
|
||||
$editData['entity'] = $this->kycEntityTypeModel->findAll();
|
||||
$editData['insurer'] = $this->insurerBranchModel ->getInsurerBranchesWithInsurerNames();
|
||||
$editData['kyc_docs'] = $this->kycDocsModel->findAll();
|
||||
|
||||
|
||||
$editData['client'] = $this->clientModel->where(['id' => $id, 'is_active' => 1])->first();
|
||||
$editData['client_kyc'] = $this->clientKYCDocsModel->getKycDocsName($id);
|
||||
$editData['client_branch'] = $this->clientBranchModel->where(['client_id' => $id, 'is_active' => 1])->findAll();
|
||||
$editData['client_relation'] = $this->clientRMModel->where(['client_id' => $id, 'is_active' => 1])->findAll();
|
||||
$editData['client_policy'] = $this->clientPolicyModel->getClientPolicyByClientId($id);
|
||||
|
||||
|
||||
|
||||
// echo "<pre>";
|
||||
// print_r($editData); die;
|
||||
|
||||
echo view('layout/header', $headerData);
|
||||
echo view('client_onboarding', $editData);
|
||||
echo view('layout/footer');
|
||||
|
||||
}
|
||||
|
||||
public function createClientGeneralInfo()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client general info function called');
|
||||
$data = $this->request->getPost();
|
||||
$data['created_by'] = get_session_userid();
|
||||
$insert = $this->clientModel->insert($data);
|
||||
if($insert){
|
||||
$client_data = $this->clientModel->where(['id' => $insert, 'is_active' => 1])->first();
|
||||
echo json_encode(array("status" => true , 'data' => $client_data));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function editClientGeneralInfo()
|
||||
{
|
||||
$this->myLogger->logme('error','edit client general info function called');
|
||||
$id = $this->request->getPost('PrimaryKey');
|
||||
$data = $this->request->getPost();
|
||||
$data['updated_by'] = get_session_userid();
|
||||
$update = $this->clientModel->update($id,$data);
|
||||
if($update){
|
||||
echo json_encode(array("status" => true , 'data' => $data));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function createClientKYCInfo()
|
||||
{
|
||||
$this->myLogger->logme('error','create Client kyc function called');
|
||||
$File = file_Upload($this->request->getFile('file_name'));
|
||||
if(!empty($File)){
|
||||
$data['file_name'] = $File;
|
||||
}
|
||||
|
||||
$data['client_id'] = $this->request->getPost('client_id');
|
||||
$data['kyc_doc_type_id'] = $this->request->getPost('kyc_doc_id');
|
||||
$data['created_by'] = get_session_userid();
|
||||
$insert = $this->clientKYCDocsModel->insert($data);
|
||||
if($insert){
|
||||
$kycDocs = $this->clientKYCDocsModel->getKycDocsName($this->request->getPost('client_id'));
|
||||
echo json_encode(array("status" => true , 'data' => $kycDocs));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function editClientKYCInfo()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','edit client kyc function called');
|
||||
$File = file_Upload($this->request->getFile('file_name'));
|
||||
if(!empty($File)){
|
||||
$data['file_name'] = $File;
|
||||
}
|
||||
$id = $this->request->getPost('PrimaryKey');
|
||||
$data['client_id'] = $id;
|
||||
$data['kyc_doc_type_id'] = $this->request->getPost('kyc_doc_id');
|
||||
$data['updated_by'] = get_session_userid();
|
||||
$insert = $this->clientKYCDocsModel->insert($data);
|
||||
if($insert){
|
||||
$kycDocs = $this->clientKYCDocsModel->getKycDocsName($id);
|
||||
echo json_encode(array("status" => true , 'data' => $kycDocs));
|
||||
}else{
|
||||
echo json_encode(array());
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteClientKycDocs($id=null)
|
||||
{
|
||||
|
||||
$delete = $this->clientKYCDocsModel->where('id', $id)->delete();
|
||||
if($delete){
|
||||
echo json_encode(array("status" => true ));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function createClientRelation()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client relation function called');
|
||||
|
||||
$data['client_id'] = $this->request->getPost('client_id');
|
||||
$data['created_by'] = get_session_userid();
|
||||
$inserted = false;
|
||||
|
||||
if ($this->request->getPost('head')) {
|
||||
$data['level'] = "1";
|
||||
$data['user_id'] = $this->request->getPost('head');
|
||||
$inserted = $this->clientRMModel->insert($data);
|
||||
}
|
||||
|
||||
if ($this->request->getPost('manager')) {
|
||||
$data['level'] = "2";
|
||||
$data['user_id'] = $this->request->getPost('manager');
|
||||
$inserted = $this->clientRMModel->insert($data);
|
||||
}
|
||||
|
||||
if ($this->request->getPost('account_manager')) {
|
||||
$data['level'] = "3";
|
||||
foreach ($this->request->getPost('account_manager') as $value) {
|
||||
$data['user_id'] = $value;
|
||||
$inserted = $this->clientRMModel->insert($data);
|
||||
}
|
||||
}
|
||||
|
||||
if ($inserted) {
|
||||
echo json_encode(array("status" => true, 'data' => $this->request->getPost()));
|
||||
} else {
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function editClientRelation()
|
||||
{
|
||||
$this->myLogger->logme('error','Client relation function called');
|
||||
|
||||
$id = $this->request->getPost('PrimaryKey');
|
||||
$data['client_id'] = $this->request->getPost('client_id');
|
||||
$data['updated_by'] = get_session_userid();
|
||||
$inserted = false;
|
||||
|
||||
if ($this->request->getPost('head')) {
|
||||
$data['user_id'] = $this->request->getPost('head');
|
||||
$checkHead = $this->clientRMModel->checkExistenceOfClientRelation($id, $this->request->getPost('head'), 1);
|
||||
if($checkHead){
|
||||
$inserted = $this->clientRMModel->where('client_id', $id )->where('level', 1)->set($data)->update();
|
||||
}else{
|
||||
$data['level'] = "1";
|
||||
$data['user_id'] = $this->request->getPost('head');
|
||||
$inserted = $this->clientRMModel->insert($data);
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->request->getPost('manager')) {
|
||||
$data['user_id'] = $this->request->getPost('manager');
|
||||
$checkHead = $this->clientRMModel->checkExistenceOfClientRelation($id, $this->request->getPost('manager'), 2);
|
||||
if($checkHead){
|
||||
$inserted = $this->clientRMModel->where('client_id', $id )->where('level', 2)->set($data)->update();
|
||||
}else{
|
||||
$data['level'] = "2";
|
||||
$data['user_id'] = $this->request->getPost('manager');
|
||||
$inserted = $this->clientRMModel->insert($data);
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->request->getPost('account_manager')) {
|
||||
|
||||
$this->clientRMModel->where('client_id', $id)->where('level', 3)->delete();
|
||||
$data['level'] = "3";
|
||||
foreach ($this->request->getPost('account_manager') as $value) {
|
||||
$data['user_id'] = $value;
|
||||
$inserted = $this->clientRMModel->insert($data);
|
||||
}
|
||||
}
|
||||
|
||||
$lastQuery = $this->clientRMModel->getLastQuery();
|
||||
|
||||
if ($inserted) {
|
||||
echo json_encode(array("status" => true, 'data' => $this->request->getPost(), "place" => 'edit'));
|
||||
} else {
|
||||
echo json_encode(array("status" => false, "place" => 'edit'));
|
||||
}
|
||||
}
|
||||
|
||||
public function createClientBranch()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client branch CREATE function called');
|
||||
$data = $this->request->getPost();
|
||||
$data['created_by'] = get_session_userid();
|
||||
$insert = $this->clientBranchModel->insert($data);
|
||||
|
||||
if($insert){
|
||||
for ($i = 0; $i < count($this->request->getPost('name')); $i++) {
|
||||
// Prepare data to insert
|
||||
$data = [
|
||||
'contact_type' => 'client',
|
||||
'ref_id' => $insert,
|
||||
'created_by' => get_session_userid(),
|
||||
'name' => $this->request->getPost('name')[$i],
|
||||
'email' => $this->request->getPost('email')[$i],
|
||||
'mobile' => $this->request->getPost('mobile')[$i],
|
||||
'designation' => $this->request->getPost('designation')[$i]
|
||||
];
|
||||
$contacts = $this->levelContactModel->insert($data);
|
||||
}
|
||||
}
|
||||
|
||||
if($insert){
|
||||
$branchData = $this->clientBranchModel->where('client_id', $this->request->getPost('client_id'))->findAll();
|
||||
echo json_encode(array("status" => true , 'data' => $branchData));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function editClientBranch()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client branch EDIT function called');
|
||||
$id = $this->request->getPost('PrimaryKey');
|
||||
$client_id = $this->request->getPost('client_id');
|
||||
$data = $this->request->getPost();
|
||||
$data['updated_by'] = get_session_userid();
|
||||
$insert = $this->clientBranchModel->update($id, $data);
|
||||
$this->myLogger->logme('error','Client branch EDITED by {data}', ['data' => get_session_userid()]);
|
||||
|
||||
|
||||
if($insert){
|
||||
|
||||
$this->levelContactModel->where('ref_id', $id)->where('contact_type', 'client')->delete();
|
||||
for ($i = 0; $i < count($this->request->getPost('name')); $i++) {
|
||||
$data = [
|
||||
'contact_type' => 'client',
|
||||
'ref_id' => $id,
|
||||
'updated_by' => get_session_userid(),
|
||||
'name' => $this->request->getPost('name')[$i],
|
||||
'email' => $this->request->getPost('email')[$i],
|
||||
'mobile' => $this->request->getPost('mobile')[$i],
|
||||
'designation' => $this->request->getPost('designation')[$i]
|
||||
];
|
||||
$contacts = $this->levelContactModel->insert($data);
|
||||
}
|
||||
}
|
||||
|
||||
if($insert){
|
||||
$branchData = $this->clientBranchModel->where('client_id', $client_id)->findAll();
|
||||
echo json_encode(array("status" => true , 'data' => $branchData));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function createClientPolicy()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client policy CREATE function called');
|
||||
|
||||
$insurerValue = (string) $this->request->getPost('insurer');
|
||||
list($insurerBranchId, $insurerId) = explode('-', $insurerValue);
|
||||
|
||||
$data['insurer_branch_id'] = $insurerBranchId;
|
||||
$data['insurer_id'] = $insurerId;
|
||||
|
||||
$tpaValue = (string) $this->request->getPost('tpa');
|
||||
list($tpaBranchId, $tpaId) = explode('-', $tpaValue);
|
||||
|
||||
$data['tpa_branch_id'] = $tpaBranchId;
|
||||
$data['tpa_id'] = $tpaId;
|
||||
$data['policy_id'] = $this->request->getPost('policy_id');
|
||||
$data['client_id'] = $this->request->getPost('client_id');
|
||||
|
||||
|
||||
$data['created_by'] = get_session_userid();
|
||||
$insert = $this->clientPolicyModel->insert($data);
|
||||
if($insert){
|
||||
$clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($this->request->getPost('client_id'));
|
||||
echo json_encode(array("status" => true , 'data' => $clientPoliceData));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function editClientPolicy()
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','Client policy function called');
|
||||
|
||||
$id = $this->request->getPost('PrimaryKey');
|
||||
$client_id = $this->request->getPost('client_id');
|
||||
|
||||
$insurerValue = (string) $this->request->getPost('insurer');
|
||||
list($insurerBranchId, $insurerId) = explode('-', $insurerValue);
|
||||
|
||||
$data['insurer_branch_id'] = $insurerBranchId;
|
||||
$data['insurer_id'] = $insurerId;
|
||||
|
||||
$tpaValue = (string) $this->request->getPost('tpa');
|
||||
list($tpaBranchId, $tpaId) = explode('-', $tpaValue);
|
||||
|
||||
$data['tpa_branch_id'] = $tpaBranchId;
|
||||
$data['tpa_id'] = $tpaId;
|
||||
$data['policy_id'] = $this->request->getPost('policy_id');
|
||||
|
||||
$data['updated_by'] = get_session_userid();
|
||||
$insert = $this->clientPolicyModel->update($id,$data);
|
||||
$lastQuery = $this->clientPolicyModel->getLastQuery();
|
||||
|
||||
if($insert){
|
||||
$clientPoliceData = $this->clientPolicyModel->getClientPolicyByClientId($client_id);
|
||||
echo json_encode(array("status" => true , 'data' => $clientPoliceData));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function getKycDocsById($id=null)
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','getKycDocsById function called');
|
||||
if($id){
|
||||
$kyc_docs_data = $this->kycDocsModel->where(['kyc_type_id' => $id, 'is_active' => 1])->findAll();
|
||||
echo json_encode(array("status" => true , 'data' => $kyc_docs_data));
|
||||
$this->myLogger->logme('error','getKycDocs status TRUE');
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
$this->myLogger->logme('error','getKycDocs status FALSE');
|
||||
}
|
||||
}
|
||||
|
||||
public function getPolicesByInsurerId($id = null)
|
||||
{
|
||||
$this->myLogger->logme('error','getPolicesByInsurerId function called');
|
||||
if($id){
|
||||
$police_data = $this->policesModel->where(['insurer_id' => $id, 'is_active' => 1])->findAll();
|
||||
echo json_encode(array("status" => true , 'data' => $police_data));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
}
|
||||
|
||||
public function getSingleBranchDataById($id=null)
|
||||
{
|
||||
|
||||
$this->myLogger->logme('error','getSingleBranchDataById function called');
|
||||
if($id){
|
||||
$branch_data = $this->clientBranchModel->where(['id' => $id, 'is_active' => 1])->first();
|
||||
$branch_contact_data = $this->levelContactModel->where(['ref_id' => $id, 'contact_type'=>'client', 'is_active' => 1])->findAll();
|
||||
echo json_encode(array("status" => true , 'data' => $branch_data, 'contact' => $branch_contact_data));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function getClientPolicyById($id=null)
|
||||
{
|
||||
$this->myLogger->logme('error','getClientPolicyById function called');
|
||||
if($id){
|
||||
$client_policy_data = $this->clientPolicyModel->where(['id' => $id, 'is_active' => 1])->first();
|
||||
$insurer_id = $client_policy_data['insurer_id'];
|
||||
$polices = $this->policesModel->where(['insurer_id' => $insurer_id, 'is_active' => 1])->findAll();
|
||||
echo json_encode(array("status" => true , 'data' => $client_policy_data, 'policy' => $polices));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -17,6 +17,7 @@ class LoginController extends BaseController
|
||||
|
||||
// $session_data = ['isLoggedIn' => True ,'userid' => '4'];
|
||||
// set_session_data($session_data);
|
||||
// $isLoggedIn = check_session();
|
||||
$isLoggedIn = check_session();
|
||||
|
||||
if ($isLoggedIn) {
|
||||
|
||||
@ -16,109 +16,98 @@ use App\Models\UserTeamsModel;
|
||||
|
||||
class UserController extends AdminController
|
||||
{
|
||||
|
||||
protected $myLogger;
|
||||
protected $userModel;
|
||||
protected $roleModel;
|
||||
protected $teamModel;
|
||||
protected $userTeamsModel;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
// helper('utility');
|
||||
set_session_context('User');
|
||||
$this->myLogger = \Config\Services::mylogger();
|
||||
|
||||
$this->userModel = new UserModel();
|
||||
$this->roleModel = new RoleModel();
|
||||
$this->teamModel = new TeamModel();
|
||||
$this->userTeamsModel = new UserTeamsModel();
|
||||
}
|
||||
|
||||
public function list()
|
||||
{
|
||||
$model = new UserModel();
|
||||
$this->myLogger->logme('error','list {data} called',['data' => '9638527410']);
|
||||
$data['UserList'] = $model->where('is_active', 1)->orderBy('id', 'DESC')->findAll();
|
||||
echo view('layout/header');
|
||||
echo view('AddUser');
|
||||
echo view('UserList', $data);
|
||||
echo view('layout/footer');
|
||||
{
|
||||
$data['headerData'] = 'User List';
|
||||
$this->myLogger->logme('error','User list function called');
|
||||
$data['UserList'] = $this->userModel->getUserList();
|
||||
// echo '<pre>';
|
||||
// print_r($data); die;
|
||||
$data['roleData'] = $this->roleModel->select('id, role')->findAll();
|
||||
$data['teamData'] = $this->teamModel->select('id, name')->findAll();
|
||||
$this->loadLayout('UserList', $data);
|
||||
}
|
||||
|
||||
|
||||
public function create()
|
||||
{
|
||||
$this->myLogger->logme('error','User create function called');
|
||||
$teams = $this->request->getPost('team');
|
||||
|
||||
//if this is get method return to user creation page
|
||||
if(!$this->request->getPost()){
|
||||
return redirect()->to(base_url('/user/list'));
|
||||
}else{
|
||||
|
||||
//else do user insert operation
|
||||
$userModel = new UserModel();
|
||||
$File = fileUpload($this->request->getFile('profile'));
|
||||
$userData = $this->request->getPost();
|
||||
if(!empty($File)){
|
||||
$userData['profile'] = $File;
|
||||
}
|
||||
|
||||
// Inserting data into the 'users' table
|
||||
$userData['created_by'] = get_session_userid();
|
||||
unset($userData['team']);
|
||||
$insert = $userModel->insert($userData);
|
||||
$insert = $this->userModel->insert($userData);
|
||||
if($insert){
|
||||
$teamData['user_id'] = $insert ;
|
||||
$UserTeamsModel = new UserTeamsModel();
|
||||
foreach ($teams as $value) {
|
||||
$teamData['team_id'] = $value;
|
||||
$teamData['created_by'] = get_session_userid();
|
||||
$UserTeamsModel->insert($teamData);
|
||||
$this->userTeamsModel->insert($teamData);
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->myLogger->logme('error','User create Successfully created by id {data}', ['data' => get_session_userid()]);
|
||||
return redirect()->to(base_url('/user/list'));
|
||||
}
|
||||
|
||||
public function getuser($id = null){
|
||||
|
||||
$model = new UserModel();
|
||||
$RoleModel = new RoleModel();
|
||||
$TeamModal = new TeamModel();
|
||||
$UserTeamsModel = new UserTeamsModel();
|
||||
|
||||
$roleData = $RoleModel->select('id, role')->findAll();
|
||||
$teamData = $TeamModal->select('id, name')->findAll();
|
||||
$userTeamData = $UserTeamsModel->where('user_id', $id)->findAll();
|
||||
$data = $model->getUserById($id);
|
||||
public function getuser($id = null)
|
||||
{
|
||||
$userTeamData = $this->userTeamsModel->where('user_id', $id)->findAll();
|
||||
$data = $this->userModel->getUserById($id);
|
||||
if($data){
|
||||
echo json_encode(array("status" => true , 'data' => $data, 'roleData' => $roleData, 'teamData' => $teamData, 'userTeamData' => $userTeamData));
|
||||
echo json_encode(array("status" => true , 'data' => $data, 'userTeamData' => $userTeamData));
|
||||
}else{
|
||||
echo json_encode(array("status" => false));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function edit()
|
||||
{
|
||||
$teams = $this->request->getPost('team');
|
||||
// echo '<pre>';
|
||||
// print_r($this->request->getPost()); die;
|
||||
|
||||
if(!$this->request->getPost()){
|
||||
return redirect()->to(base_url('/user/list'));
|
||||
}else{
|
||||
$userModel = new UserModel();
|
||||
$id = $this->request->getPost('PrimaryKey');
|
||||
$imageDetails = $userModel->find($id);
|
||||
$File = fileUpload($this->request->getFile('profile'), (isset($imageDetails['profile']) ? $imageDetails['profile'] : null));
|
||||
$userData = $this->request->getPost();
|
||||
if(!empty($File)){
|
||||
$userData['profile'] = $File;
|
||||
}
|
||||
|
||||
// Update data in the 'users' table based on the $id
|
||||
$userData['updated_by'] = get_session_userid();
|
||||
unset($userData['PrimaryKey']);
|
||||
$update = $userModel->update($id, $userData);
|
||||
$update = $this->userModel->where('id', $id )->set($userData)->update();
|
||||
|
||||
if($update){
|
||||
$UserTeamsModel = new UserTeamsModel();
|
||||
$UserTeamsModel->where('user_id', $id)->delete();
|
||||
$teamData['user_id'] = $id ;
|
||||
foreach ($teams as $value) {
|
||||
$teamData['team_id'] = $value;
|
||||
$teamData['created_by'] = get_session_userid();
|
||||
$UserTeamsModel->insert($teamData);
|
||||
}
|
||||
$this->userTeamsModel->where('user_id', $id)->delete();
|
||||
if($teams){
|
||||
$teamData['user_id'] = $id ;
|
||||
foreach ($teams as $value) {
|
||||
$teamData['team_id'] = $value;
|
||||
$teamData['created_by'] = get_session_userid();
|
||||
$this->userTeamsModel->insert($teamData);
|
||||
}
|
||||
}
|
||||
}
|
||||
return redirect()->to(base_url('/user/list'));
|
||||
}
|
||||
@ -137,14 +126,10 @@ class UserController extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
public function getRolesAndTeams(){
|
||||
|
||||
$RoleModel = new RoleModel();
|
||||
$TeamModal = new TeamModel();
|
||||
|
||||
$roleData = $RoleModel->select('id, role')->findAll();
|
||||
$teamData = $TeamModal->select('id, name')->findAll();
|
||||
public function getRolesAndTeams()
|
||||
{
|
||||
$roleData = $this->roleModel->select('id, role')->findAll();
|
||||
$teamData = $this->teamModel->select('id, name')->findAll();
|
||||
echo json_encode(array("status" => true , 'roleData' => $roleData, 'teamData' => $teamData,));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
40
app/Helpers/fileupload_helper.php
Normal file
40
app/Helpers/fileupload_helper.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
if (!function_exists('file_to_upload')) {
|
||||
function file_to_upload($file, $allowedTypes = [], $uploadDirectory = '')
|
||||
{
|
||||
$uploadPath = ROOTPATH . 'public/uploads/' . $uploadDirectory;
|
||||
|
||||
// Check if the upload directory exists
|
||||
if (!is_dir($uploadPath)) {
|
||||
throw new \Exception('Upload directory does not exist.');
|
||||
}
|
||||
|
||||
// Validate file type
|
||||
if (!empty($allowedTypes) && !in_array($file->getClientMimeType(), $allowedTypes)) {
|
||||
throw new \Exception('Invalid file type.');
|
||||
}
|
||||
|
||||
// Generate a unique filename
|
||||
$originalName = $file->getName();
|
||||
$ext = pathinfo($originalName, PATHINFO_EXTENSION);
|
||||
$baseName = pathinfo($originalName, PATHINFO_FILENAME);
|
||||
|
||||
$counter = 0;
|
||||
$newName = $baseName . '.' . $ext;
|
||||
while (file_exists($uploadPath . $newName)) {
|
||||
$counter++;
|
||||
$newName = $baseName . '_' . $counter . '.' . $ext;
|
||||
}
|
||||
|
||||
// Move the file to the upload directory
|
||||
try {
|
||||
$file->move($uploadPath, $newName);
|
||||
} catch (\Exception $e) {
|
||||
throw new \Exception('Failed to upload file: ' . $e->getMessage());
|
||||
}
|
||||
|
||||
return $uploadDirectory . $newName;
|
||||
|
||||
}
|
||||
}
|
||||
@ -43,9 +43,9 @@ if (!function_exists('change_date_format')) {
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('fileUpload')) {
|
||||
if (!function_exists('file_Upload')) {
|
||||
|
||||
function fileUpload($fileToUpload, $imageDetails = null)
|
||||
function file_Upload($fileToUpload, $imageDetails = null)
|
||||
{
|
||||
$fileName = $fileToUpload->getClientName();
|
||||
if ($fileToUpload !== NULL && $fileName !== "") {
|
||||
|
||||
@ -13,9 +13,24 @@ class ClientBranchModel extends Model
|
||||
"client_id",
|
||||
"branch_name",
|
||||
"branch_code",
|
||||
"city",
|
||||
"district",
|
||||
"state",
|
||||
"created_by",
|
||||
"updated_by",
|
||||
"is_active",
|
||||
];
|
||||
|
||||
public function getBranchAndContactByBranchId($branch_id){
|
||||
|
||||
return $this->db->table('client_branch')
|
||||
->select('client_branch.*')
|
||||
->select('level_contacts.name, level_contacts.email, level_contacts.mobile, level_contacts.designation,')
|
||||
->join('level_contacts', 'level_contacts.ref_id = client_branch.id')
|
||||
->where('level_contacts.contact_type', 'client')
|
||||
->where('client_branch.id', $branch_id)
|
||||
->get()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -8,6 +8,22 @@ class ClientKYCDocsModel extends Model
|
||||
{
|
||||
protected $table = 'client_kyc_documents';
|
||||
protected $primaryKey = 'id';
|
||||
protected $allowedFields = ['id','client_id','entity_type_id','file_name','is_active',"created_by","updated_by",];
|
||||
protected $allowedFields = [
|
||||
'id',
|
||||
'client_id',
|
||||
'kyc_doc_type_id',
|
||||
'file_name',
|
||||
'is_active',
|
||||
"created_by",
|
||||
"updated_by",
|
||||
];
|
||||
|
||||
public function getKycDocsName($client_id){
|
||||
$query = $this->select('client_kyc_documents.*, kyc_docs.file_name as client_file_name')
|
||||
->join('kyc_docs', 'kyc_docs.id = client_kyc_documents.kyc_doc_type_id')
|
||||
->where(['client_id' => $client_id, 'client_kyc_documents.is_active' => 1])
|
||||
->findAll();
|
||||
return $query;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -27,6 +27,7 @@ class ClientModel extends Model
|
||||
];
|
||||
|
||||
|
||||
|
||||
//get client and its associated policies in same array
|
||||
public function clientsWithPolicies()
|
||||
{
|
||||
@ -46,7 +47,18 @@ class ClientModel extends Model
|
||||
}
|
||||
//print_r(($clients));die();
|
||||
return $clients;
|
||||
}
|
||||
|
||||
|
||||
public function getCreatedByUserName(){
|
||||
|
||||
return $this->db->table('clients')
|
||||
->select('clients.*')
|
||||
->select('user_profiles.first_name as user_name')
|
||||
->join('user_profiles', 'user_profiles.id = clients.created_by')
|
||||
->get()
|
||||
->getResult();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -20,4 +20,43 @@ class ClientPolicyModel extends Model
|
||||
"updated_by",
|
||||
"Is_active",
|
||||
];
|
||||
|
||||
public function getClientPolicyById($id){
|
||||
|
||||
return $this->db->table('client_policy')
|
||||
->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
|
||||
->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
|
||||
->select('policies.name as policy_name')
|
||||
->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
|
||||
->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
|
||||
->join('insurers', 'insurers.id = client_policy.insurer_id')
|
||||
->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
|
||||
->join('tpa', 'tpa.id = client_policy.tpa_id')
|
||||
->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id')
|
||||
->join('policies', 'policies.id = client_policy.policy_id')
|
||||
->where('client_policy.id', $id)
|
||||
->get()
|
||||
->getResult();
|
||||
|
||||
}
|
||||
|
||||
public function getClientPolicyByClientId($client_id){
|
||||
|
||||
return $this->db->table('client_policy')
|
||||
->select('client_policy.*')
|
||||
->select('insurers.name as insurer_name, insurers.short_name as insurer_short')
|
||||
->select('tpa.name as tpa_name, tpa.short_name as tpa_short')
|
||||
->select('policies.name as policy_name')
|
||||
->select('insurer_branch.branch_name as insurer_branch_name, insurer_branch.branch_code as insurer_branch_code')
|
||||
->select('tpa_branch.branch_name as tpa_branch_name, tpa_branch.branch_code as tpa_branch_code')
|
||||
->join('insurers', 'insurers.id = client_policy.insurer_id')
|
||||
->join('insurer_branch', 'client_policy.insurer_branch_id = insurer_branch.id')
|
||||
->join('tpa', 'tpa.id = client_policy.tpa_id')
|
||||
->join('tpa_branch', 'client_policy.tpa_branch_id = tpa_branch.id')
|
||||
->join('policies', 'policies.id = client_policy.policy_id')
|
||||
->where('client_policy.client_id', $client_id)
|
||||
->get()
|
||||
->getResult();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,4 +18,25 @@ class ClientRMModel extends Model
|
||||
"is_active",
|
||||
];
|
||||
|
||||
public function checkExistenceOfClientRelation($id, $user_id, $level)
|
||||
{
|
||||
$query = $this->where('client_id', $id)
|
||||
->where('user_id', $user_id)
|
||||
->where('level', $level)
|
||||
->countAllResults();
|
||||
return ($query > 0) ? true : false;
|
||||
}
|
||||
|
||||
public function getAllClientRM(){
|
||||
|
||||
return $this->db->table('client_rm')
|
||||
->select('client_rm.client_id, client_rm.level,')
|
||||
->select('user_profiles.first_name as account_manager')
|
||||
->join('user_profiles', 'user_profiles.id = client_rm.user_id')
|
||||
->where('level', 3)
|
||||
->get()
|
||||
->getResult();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ class LevelContactModel extends Model
|
||||
"email",
|
||||
"city",
|
||||
"mobile",
|
||||
"designation",
|
||||
"created_by",
|
||||
"updated_by",
|
||||
"is_active",
|
||||
|
||||
20
app/Models/StateModel.php
Normal file
20
app/Models/StateModel.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class StateModel extends Model
|
||||
{
|
||||
protected $table = 'states';
|
||||
protected $primaryKey = 'id';
|
||||
protected $allowedFields = [
|
||||
"id",
|
||||
"state"
|
||||
];
|
||||
|
||||
public function getAllStates()
|
||||
{
|
||||
return $this->select('id, state')->findAll();
|
||||
}
|
||||
}
|
||||
@ -23,4 +23,12 @@ class TPABranchModel extends Model
|
||||
"updated_by",
|
||||
"is_active",
|
||||
];
|
||||
|
||||
public function getTpaBranchesWithTpaNames()
|
||||
{
|
||||
$query = $this->select('tpa_branch.*, T.short_name as tpa_short_name, T.name as tpa_name')
|
||||
->join('tpa T', 'tpa_branch.tpa_id = T.id', 'left')
|
||||
->find();
|
||||
return $query;
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,8 +26,6 @@ class UserModel extends Model
|
||||
"created_at",
|
||||
"updated_by",
|
||||
"updated_at",
|
||||
"created_by",
|
||||
"updated_by",
|
||||
"is_active",
|
||||
];
|
||||
|
||||
@ -90,13 +88,22 @@ class UserModel extends Model
|
||||
public function getUserById($id){
|
||||
|
||||
$userData = $this->where('id', $id)->get();
|
||||
|
||||
if ($userData->getNumRows() > 0) {
|
||||
return $userData->getRow();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function getUserList(){
|
||||
|
||||
return $this->db->table('user_profiles')
|
||||
->select('user_profiles.*')
|
||||
->select('roles.role as user_role')
|
||||
->join('roles', 'roles.id = user_profiles.role')
|
||||
->get()
|
||||
->getResult();
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@ -40,18 +40,7 @@ body {
|
||||
</style>
|
||||
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box page-title-box-alt">
|
||||
<h4 class="page-title"></h4>
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<li></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ADD and EDIT Page HTML -->
|
||||
<div class="row" id="Add-Edit-Page">
|
||||
<div class="col-12">
|
||||
@ -70,56 +59,38 @@ body {
|
||||
<input type="hidden" name="PrimaryKey" id="UserId"/>
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-6">
|
||||
<label for="first_name">First Name<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name" placeholder="Enter First Name" name="first_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="last_name">Last Name<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name" placeholder="Enter Last Name" name="last_name" required>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-6">
|
||||
<label for="email">Email<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="email" placeholder="Enter Email" name="email" required>
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="mobile">Mobile Number<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="mobile" placeholder="Enter Mobile Number" name="mobile" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-6">
|
||||
<div class="form-group col-md-3">
|
||||
<label for="emp_code">Employee Code</label>
|
||||
<input type="text" class="form-control" id="emp_code" placeholder="Enter Employee Code" name="emp_code">
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="profile">Image</label>
|
||||
<input class="form-control" type="file" name="profile" multiple="true" id="profile" onchange="onFileUpload(this);" accept="image/*">
|
||||
<div class="form-group col-md-3">
|
||||
<label for="first_name">Name<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name" placeholder="Enter First Name" name="first_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label for="email">Email<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="email" placeholder="Enter Email" name="email" required>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label for="mobile">Mobile Number<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="mobile" placeholder="Enter Mobile Number" name="mobile" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-6">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="emp_code">User Role</label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select Role</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="profile">User Team</label>
|
||||
<select class="form-control" id="team" name="team[]" multiple>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12" style="position: relative;top: 30px;">
|
||||
<img class="mb-3 float-right" id="ajaxImgUpload" alt="Preview Image" src="https://via.placeholder.com/300" width="100" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group text-right m-b-0">
|
||||
|
||||
@ -1,15 +1 @@
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box page-title-box-alt">
|
||||
<h4 class="page-title">Welcome !</h4>
|
||||
<div class="page-title-right">
|
||||
<ol class="breadcrumb m-0">
|
||||
<li class="breadcrumb-item"><a href="javascript: void(0);">Dashboards</a></li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end page title -->
|
||||
|
||||
<h4 class="page-title">Welcome !</h4>
|
||||
|
||||
@ -1,138 +1,238 @@
|
||||
<style>
|
||||
|
||||
body {
|
||||
.multiselect-native-select {
|
||||
position: relative;
|
||||
/* bottom: 32px; */
|
||||
select {
|
||||
border: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
height: 1px !important;
|
||||
margin: -1px -1px -1px -3px !important;
|
||||
overflow: hidden !important;
|
||||
padding: 0 !important;
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
left: 50%;
|
||||
top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.multiselect-container{
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.multiselect-selected-text{
|
||||
float: left !important;
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
<!-- End ADD and EDIT Page HTML -->
|
||||
<div class="row" id="List-page">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row" style="padding-bottom: 10px;">
|
||||
<div class="col-6" style="align-self: center;">
|
||||
<h4 class="header-title" style="position: relative;">User List</h4>
|
||||
</div>
|
||||
<div class="col-6" style="text-align: right;">
|
||||
<button type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light">Add</button>
|
||||
</div>
|
||||
</div>
|
||||
<table id="datatable-buttons" class="table table-striped dt-responsive nowrap w-100">
|
||||
<thead>
|
||||
<div class="row" id="List-page">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row" style="margin-bottom:1rem;">
|
||||
<div class="col-6" style="align-self: center;">
|
||||
<h4 class="header-title" style="position: relative;">User List</h4>
|
||||
</div>
|
||||
<div class="col-6" style="text-align: right; position: relative;top: 53px;">
|
||||
<button type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light" data-toggle="modal" data-target="#con-close-modal" data-placement="top" title="Add" data-trigger="hover">ADD</button>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0" id="tickets-table">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th>First Name</th>
|
||||
<th>Last Name</th>
|
||||
<th>Email</th>
|
||||
<th>Mobile No</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($UserList as $row) { ?>
|
||||
<tr id="<?php echo $row['id'];?>">
|
||||
<td><?php echo $row['first_name']; ?></td>
|
||||
<td><?php echo $row['last_name']; ?></td>
|
||||
<td><?php echo $row['email']; ?></td>
|
||||
<td><?php echo $row['mobile']; ?></td>
|
||||
<td>
|
||||
<a class="btnEdit" data-id="<?php echo $row['id']; ?>"><i data-id="<?php echo $row['id']; ?>" class="mdi mdi-lead-pencil btnEdit" style="font-size:18px;"></i></a>
|
||||
<a class="btnDelete" data-id="<?php echo $row['id']; ?>"><i data-id="<?php echo $row['id']; ?>" class="mdi mdi-delete btnDelete" style="font-size:18px;"></i></a>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div> <!-- end card body-->
|
||||
</div> <!-- end card -->
|
||||
</div><!-- end col-->
|
||||
</div>
|
||||
<th class="font-weight-medium">Name</th>
|
||||
<th class="font-weight-medium">Email</th>
|
||||
<th class="font-weight-medium">Mobile No</th>
|
||||
<th class="font-weight-medium">Role</th>
|
||||
<th class="font-weight-medium">Status</th>
|
||||
<th class="font-weight-medium">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($UserList as $row) { ?>
|
||||
<tr id="<?php echo $row->id;?>">
|
||||
<td class="text-dark"><?php echo $row->first_name; ?></td>
|
||||
<td><?php echo $row->email; ?></td>
|
||||
<td><?php echo $row->mobile; ?></td>
|
||||
<td><?php echo $row->user_role; ?></td>
|
||||
<td>
|
||||
<span class="<?php if($row->is_active == 1){ echo 'badge badge-success'; }else{ echo 'badge badge-danger'; } ?>">
|
||||
<?php if($row->is_active == 1){ echo 'Active'; }else{ echo 'In-Active'; } ?>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<div class="btn-group dropdown" style="position: relative !important;left:0px !important;top:0px !important;">
|
||||
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown" aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
|
||||
<div class="dropdown-menu dropdown-menu-right" style="cursor: pointer;">
|
||||
<a data-toggle="modal" data-target="#con-close-modal" class="dropdown-item btnEdit" data-id="<?php echo $row->id; ?>"><i data-id="<?php echo $row->id; ?>" class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle btnEdit"></i>Edit</a>
|
||||
<a class="dropdown-item btnDelete" data-id="<?php echo $row->id; ?>"><i data-id="<?php echo $row->id; ?>" class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle btnDelete"></i>Delete</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end col -->
|
||||
</div>
|
||||
<!-- end row-->
|
||||
|
||||
|
||||
|
||||
<!-- modal content -->
|
||||
|
||||
<div id="con-close-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">Add User</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body p-4">
|
||||
<div class="">
|
||||
|
||||
<form role="form" class="parsley-examples" method="post" id="UserForm" action="" enctype="multipart/form-data">
|
||||
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>"/>
|
||||
<input type="hidden" name="PrimaryKey" id="UserId"/>
|
||||
<div class="form-group">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="emp_code">Employee Code<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="emp_code" placeholder="Enter Employee Code" name="emp_code" required>
|
||||
</div>
|
||||
<div class="form-group col-md-8">
|
||||
<label for="first_name">Name<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name" placeholder="Ente Name" name="first_name" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="email">Email<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="email" placeholder="Enter Email" name="email" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="mobile">Mobile Number<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="mobile" placeholder="Enter Mobile Number" name="mobile" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="emp_code">User Role<span class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role" required>
|
||||
<option value="">Select Role</option>
|
||||
<?php foreach($roleData as $value) { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['role'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-12">
|
||||
<label for="profile">User Team<span class="text-danger">*</span></label>
|
||||
<select hidden class="form-control" id="team" name="team[]" multiple required>
|
||||
<?php foreach($teamData as $value) { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group text-right m-b-0">
|
||||
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
|
||||
<button type="button" class="btn btn-secondary waves-effect btnBack" id="btnBack">Cancel</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- /.modal -->
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#Add-Edit-Page').hide();
|
||||
$('.btnBack').hide();
|
||||
|
||||
|
||||
$('#tickets-table').DataTable({
|
||||
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" ,
|
||||
buttons: [
|
||||
{
|
||||
extend: 'csv',
|
||||
text: 'CSV',
|
||||
title: 'UserList',
|
||||
exportOptions: {
|
||||
columns: ':not(:last-child)'
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
|
||||
language: {
|
||||
search: "_INPUT_",
|
||||
searchPlaceholder: "Search..."
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#team').multiselect({
|
||||
nonSelectedText: 'Select Team',
|
||||
enableFiltering: false,
|
||||
enableCaseInsensitiveFiltering: false,
|
||||
includeSelectAllOption : false,
|
||||
buttonWidth:'100%'
|
||||
});
|
||||
|
||||
$('#btnAdd').click(function(){
|
||||
$('#Add-Edit-Page').show();
|
||||
$('.header-title').html('Add User');
|
||||
$('#btnSubmit').html('Submit');
|
||||
$('#first_name').val('');
|
||||
$('#last_name').val('');
|
||||
$('#email').val('');
|
||||
$('#mobile').val('');
|
||||
$('#emp_code').val('');
|
||||
$('#profile').val('');
|
||||
$('#ajaxImgUpload').attr('src', 'https://via.placeholder.com/300').width(100);
|
||||
$('#List-page').hide();
|
||||
$('.btnBack').show();
|
||||
$('#btnAdd').hide();
|
||||
$('#UserForm').attr('action', '<?php echo base_url('/user/create');?>');
|
||||
|
||||
$('#UserForm').attr('action', '<?php echo base_url('/user/create');?>');
|
||||
})
|
||||
|
||||
|
||||
$('.close').click(function(){
|
||||
$('#UserId').val('');
|
||||
$('#first_name').val('');
|
||||
$('#email').val('');
|
||||
$('#mobile').val('');
|
||||
$('#emp_code').val('');
|
||||
$('#role').val('')
|
||||
})
|
||||
|
||||
$('body').on('click', '.btnEdit', function () {
|
||||
var user_id = $(this).attr('data-id');
|
||||
$.ajax({
|
||||
url: '<?php echo base_url('user/rolesandteams/');?>',
|
||||
url: '<?php echo base_url('user/getuser/');?>'+user_id,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
console.log(res)
|
||||
$.each(res.roleData, function(index, item) {
|
||||
console.log(item.role)
|
||||
$('#role').append($('<option>', {
|
||||
value: item.id,
|
||||
text : item.role
|
||||
}));
|
||||
});
|
||||
$.each(res.teamData, function(index, item) {
|
||||
$('#team').append($('<option>', {
|
||||
value: item.id,
|
||||
text : item.name
|
||||
}));
|
||||
});
|
||||
$('#team').multiselect({
|
||||
nonSelectedText: 'Select Team',
|
||||
enableFiltering: false,
|
||||
enableCaseInsensitiveFiltering: false,
|
||||
includeSelectAllOption : false,
|
||||
buttonWidth:'100%'
|
||||
});
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
})
|
||||
$('.btnBack').click(function(){
|
||||
$('#Add-Edit-Page').hide();
|
||||
$('.header-title').html('User List');
|
||||
$('#UserId').val('');
|
||||
$('#first_name').val('');
|
||||
$('#last_name').val('');
|
||||
$('#email').val('');
|
||||
$('#mobile').val('');
|
||||
$('#emp_code').val('');
|
||||
$('#profile').val('');
|
||||
$('#role').val('')
|
||||
$('#ajaxImgUpload').attr('src', 'https://via.placeholder.com/300').width(100);
|
||||
$('#List-page').show();
|
||||
$('.btnBack').hide();
|
||||
$('#btnAdd').show();
|
||||
})
|
||||
|
||||
$('body').on('click', '.btnEdit', function () {
|
||||
var student_id = $(this).attr('data-id');
|
||||
$.ajax({
|
||||
url: '<?php echo base_url('user/getuser/');?>'+student_id,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
console.log(res)
|
||||
$('#role').val('')
|
||||
$('#Add-Edit-Page').show();
|
||||
$('.header-title').html('Edit User');
|
||||
$('#List-page').hide();
|
||||
$('.btnBack').show();
|
||||
$('#btnAdd').hide();
|
||||
$('#UserForm').attr('action', '<?php echo base_url('user/edit');?>');
|
||||
$('#UserId').val(res.data.id);
|
||||
$('#first_name').val(res.data.first_name);
|
||||
@ -140,40 +240,14 @@ $(document).ready(function () {
|
||||
$('#email').val(res.data.email);
|
||||
$('#mobile').val(res.data.mobile);
|
||||
$('#emp_code').val(res.data.emp_code);
|
||||
$('#role option[value="' + res.data.role + '"]').prop('selected', true);
|
||||
$('#btnSubmit').html('Update');
|
||||
|
||||
var roleOptionHTML = '';
|
||||
$.each(res.roleData, function(index, item) {
|
||||
var isSelected = res.userTeamData.some(function(userTeamItem) {
|
||||
return res.data.role === item.id;
|
||||
});
|
||||
|
||||
roleOptionHTML += '<option value="' + item.id + '" ' + (isSelected ? 'selected="selected"' : '') + '>' + item.role + '</option>';
|
||||
|
||||
$.each(res.userTeamData, function(index, item) {
|
||||
$('#team option[value="' + item.team_id + '"]').prop('selected', true);
|
||||
$('#team').multiselect('refresh');
|
||||
});
|
||||
$('#role').html(roleOptionHTML);
|
||||
|
||||
var optionsHTML = '';
|
||||
$.each(res.teamData, function(index, item) {
|
||||
var isSelected = res.userTeamData.some(function(userTeamItem) {
|
||||
return userTeamItem.team_id === item.id;
|
||||
});
|
||||
|
||||
optionsHTML += '<option value="' + item.id + '" ' + (isSelected ? 'selected="selected"' : '') + '>' + item.name + '</option>';
|
||||
});
|
||||
$('#team').html(optionsHTML);
|
||||
$('#team').multiselect({
|
||||
nonSelectedText: 'Select Team',
|
||||
enableFiltering: false,
|
||||
enableCaseInsensitiveFiltering: false,
|
||||
includeSelectAllOption : false,
|
||||
buttonWidth:'100%'
|
||||
});
|
||||
if(res.data.profile){
|
||||
$('#ajaxImgUpload').attr('src', '<?php echo base_url();?>public/uploads/'+res.data.profile).width(100);
|
||||
}else{
|
||||
$('#ajaxImgUpload').attr('src', 'https://via.placeholder.com/300').width(100);
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
@ -198,83 +272,75 @@ $(document).ready(function () {
|
||||
var student_id = $(this).attr('data-id');
|
||||
$.get('<?php echo base_url('user/deactive/');?>'+student_id, function (data) {
|
||||
console.log(data);
|
||||
$('#datatable-buttons tbody #'+ student_id).remove();
|
||||
// $('#tickets-table tbody #'+ student_id).remove();
|
||||
window.location.reload()
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#datatable-buttons').DataTable({
|
||||
|
||||
"dom": 'Bfrtip', // Show export buttons
|
||||
"paging": true,
|
||||
"lengthMenu": [ [10, 25, 50, 100], [10, 25, 50, 100] ], // Define length menu options
|
||||
buttons: [
|
||||
{
|
||||
extend: 'pdfHtml5',
|
||||
title: 'UserList', // Set your custom PDF title here
|
||||
text: 'PDF',
|
||||
customize: function(doc) {
|
||||
// You can further customize the PDF here if needed
|
||||
doc.content[1].table.body.forEach(function(row) {
|
||||
row.pop(); // Remove the last column
|
||||
});
|
||||
}
|
||||
},
|
||||
{
|
||||
extend: 'csv',
|
||||
text: 'CSV', // Set the title for the CSV button
|
||||
title: 'UserList', // Set your custom print title here
|
||||
exportOptions: {
|
||||
columns: ':not(:last-child)' // Exclude the first and last column (ID column)
|
||||
}
|
||||
},
|
||||
|
||||
]
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
function onFileUpload(input, id) {
|
||||
id = id || '#ajaxImgUpload';
|
||||
if (input.files && input.files[0]) {
|
||||
var reader = new FileReader();
|
||||
reader.onload = function (e) {
|
||||
console.log(e.target.result);
|
||||
$(id).attr('src', e.target.result).width(100);
|
||||
};
|
||||
reader.readAsDataURL(input.files[0]);
|
||||
|
||||
const btnExport = document.querySelector("#btnExport");
|
||||
const tableElement = document.querySelector("#tickets-table");
|
||||
|
||||
btnExport.addEventListener("click", () => {
|
||||
const obj = new csvExport(tableElement);
|
||||
const csvData = obj.exportCsv();
|
||||
const blob = new Blob([csvData], { type: "text/csv" });
|
||||
const url = URL.createObjectURL(blob);
|
||||
const a = document.createElement("a");
|
||||
a.href = url;
|
||||
a.download = "UserList.csv";
|
||||
a.click();
|
||||
|
||||
setTimeout(() => {
|
||||
URL.revokeObjectURL(url);
|
||||
}, 500);
|
||||
});
|
||||
|
||||
class csvExport {
|
||||
constructor(table, header = true) {
|
||||
this.table = table;
|
||||
this.rows = Array.from(table.querySelectorAll("tr"));
|
||||
if (!header && this.rows[0].querySelectorAll("th").length) {
|
||||
this.rows.shift();
|
||||
}
|
||||
}
|
||||
|
||||
exportCsv() {
|
||||
const lines = [];
|
||||
const ncols = this._longestRow();
|
||||
for (const row of this.rows) {
|
||||
let line = "";
|
||||
for (let i = 0; i < ncols - 1; i++) { // Adjusted loop to exclude the last column
|
||||
if (row.children[i] !== undefined) {
|
||||
line += csvExport.safeData(row.children[i]);
|
||||
line += ",";
|
||||
}
|
||||
}
|
||||
// Remove the trailing comma
|
||||
line = line.slice(0, -1);
|
||||
lines.push(line);
|
||||
}
|
||||
return lines.join("\n");
|
||||
}
|
||||
|
||||
_longestRow() {
|
||||
return this.rows.reduce((length, row) => (row.childElementCount > length ? row.childElementCount : length), 0);
|
||||
}
|
||||
|
||||
static safeData(td) {
|
||||
let data = td.textContent;
|
||||
//Replace all double quote to two double quotes
|
||||
data = data.replace(/"/g, `""`);
|
||||
//Replace , and \n to double quotes
|
||||
data = /[",\n"]/.test(data) ? `"${data}"` : data;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
function isFieldEmptyOrNull(formData, fieldName) {
|
||||
let value = formData.get(fieldName);
|
||||
return value === '' || value === null;
|
||||
}
|
||||
|
||||
function areFieldsEmptyOrFileEmpty(id) {
|
||||
|
||||
console.log(id)
|
||||
let element = document.getElementById(id);
|
||||
if (element.type === 'file') {
|
||||
console.log(element.files.length)
|
||||
if (element.files.length === 0) {
|
||||
return true; // File input is empty
|
||||
}
|
||||
} else {
|
||||
if (element.value === '') {
|
||||
return true; // Other input field is empty
|
||||
}
|
||||
}
|
||||
|
||||
return false; // All fields are non-empty
|
||||
}
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
@ -2,46 +2,54 @@
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card-body">
|
||||
<form role="form" class="parsley-examples" method="post" id="UserForm" action=""
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="UserId" />
|
||||
<form role="form" class="parsley-examples" method="post" id="general_form" enctype="multipart/form-data">
|
||||
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="general_PrimaryKey" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
|
||||
<input type="hidden" name="client_id" id="client_id" />
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="emp_code">Entity Type <span
|
||||
<label for="entity_type_id">Entity Type <span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role" required>
|
||||
<select class="form-control" id="entity_type" name="entity_type_id" required>
|
||||
<option value="">Select Entity</option>
|
||||
<?php foreach($entity as $value) { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
|
||||
<?php if(isset($client['entity_type_id'])){ ?>
|
||||
<?php if($value['id'] == $client['entity_type_id']) { ?>
|
||||
<option value="<?= $value['id'] ?>" selected><?= $value['name'] ?></option>
|
||||
<?php } else { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Client Name<span
|
||||
<label for="client_name">Client Name<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Client Name" name="first_name" required>
|
||||
<input type="text" class="form-control" id="client_name"
|
||||
placeholder="Enter Client Name" value="<?= isset($client['client_name']) ? $client['client_name'] : '' ?>" name="client_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">Client Short Name<span
|
||||
<label for="short_name">Client Short Name<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Short Name" name="last_name" required>
|
||||
<input type="text" class="form-control" id="short_name"
|
||||
placeholder="Enter Short Name" value="<?= isset($client['short_name']) ? $client['short_name'] : '' ?>" name="short_name" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="email">PAN<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="email"
|
||||
placeholder="Enter PAN Number" name="email" required>
|
||||
<label for="pan">PAN<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="pan"
|
||||
placeholder="Enter PAN Number" value="<?= isset($client['pan']) ? $client['pan'] : '' ?>" name="pan" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="mobile">GST<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="mobile"
|
||||
placeholder="Enter GST Number" name="mobile" required>
|
||||
<label for="gst">GST<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="gst"
|
||||
placeholder="Enter GST Number" value="<?= isset($client['gst']) ? $client['gst'] : '' ?>" name="gst" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -49,37 +57,49 @@
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-6">
|
||||
<label for="email">Address 1<span
|
||||
<label for="address1">Address 1<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="email"
|
||||
placeholder="Enter Address 1" name="email" required>
|
||||
<input type="text" class="form-control" id="address1"
|
||||
placeholder="Enter Address 1" value="<?= isset($client['address1']) ? $client['address1'] : '' ?>" name="address1" required>
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="mobile">Address 2<span
|
||||
<label for="address2">Address 2<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="mobile"
|
||||
placeholder="Enter Address 2" name="mobile" required>
|
||||
<input type="text" class="form-control" id="address2"
|
||||
placeholder="Enter Address 2" value="<?= isset($client['address2']) ? $client['address2'] : '' ?>" name="address2" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">City<span
|
||||
<label for="city">City<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter City" name="first_name" required>
|
||||
<input type="text" class="form-control" id="city"
|
||||
placeholder="Enter City" value="<?= isset($client['city']) ? $client['city'] : '' ?>" name="city" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">State<span
|
||||
<label for="state">State<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter State" name="last_name" required>
|
||||
<select class="form-control" id="state" name="state" required>
|
||||
<option value="">Select State</option>
|
||||
<?php foreach($state as $value) { ?>
|
||||
<?php if(isset($client['state'])){ ?>
|
||||
<?php if($value['id'] == $client['state']) { ?>
|
||||
<option value="<?= $value['id'] ?>" selected><?= $value['state'] ?></option>
|
||||
<?php } else { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['state'] ?></option>
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['state'] ?></option>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">Pincode<span
|
||||
<label for="pincode">Pincode<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Pincode" name="last_name" required>
|
||||
<input type="text" class="form-control" id="pincode"
|
||||
placeholder="Enter Pincode" value="<?= isset($client['pincode']) ? $client['pincode'] : '' ?>" name="pincode" maxlength="6" required>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -101,6 +121,105 @@
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$("#general_form").submit(function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
var isValid = validateForm();
|
||||
var PrimaryKey = $('#general_PrimaryKey').val();
|
||||
var form_action = '';
|
||||
|
||||
if (isValid) {
|
||||
|
||||
if(PrimaryKey === ''){
|
||||
form_action = '<?= base_url("client/general/create"); ?>';
|
||||
}else{
|
||||
form_action = '<?= base_url("client/general/edit"); ?>';
|
||||
}
|
||||
|
||||
var formData = new FormData($('#general_form')[0]);
|
||||
var OptionsHTML1 = ''
|
||||
|
||||
$.ajax({
|
||||
data: formData,
|
||||
url: form_action,
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
|
||||
console.log(res);
|
||||
$('#client_id').val(res.data.id);
|
||||
$('#client_id_relation').val(res.data.id);
|
||||
$('#client_id_branch').val(res.data.id);
|
||||
$('#client_id_police').val(res.data.id);
|
||||
$('#client_id_kyc').val(res.data.id);
|
||||
$('#kyc_tab').click();
|
||||
|
||||
$.toast({
|
||||
text: 'Client General Info',
|
||||
heading: "Submitted Sucessfully",
|
||||
position: 'top-right',
|
||||
icon: 'success',
|
||||
bgColor: !1,
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: '<?= base_url("client/kyc/list/"); ?>'+res.data.entity_type_id,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
console.log(res);
|
||||
$.each(res.data, function(index, item) {
|
||||
OptionsHTML1 += '<option value="' + item.id + '">' + item.file_name + '</option>';
|
||||
});
|
||||
$('#kyc_docs').html(OptionsHTML1);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function validateForm() {
|
||||
var isValid = true;
|
||||
|
||||
// Perform validation for each field
|
||||
$('#general_form input, #general_form select').each(function() {
|
||||
// Check for empty text inputs and selects
|
||||
if ($(this).is('input[type="text"]') || $(this).is('select')) {
|
||||
if ($.trim($(this).val()) == '') {
|
||||
alert('Please fill in all fields');
|
||||
isValid = false;
|
||||
return false; // Exit the loop early
|
||||
}
|
||||
}
|
||||
|
||||
// Check for file inputs (assuming image files)
|
||||
if ($(this).is('input[type="file"]')) {
|
||||
var fileInput = $(this)[0];
|
||||
if (fileInput.files.length === 0) {
|
||||
alert('Please select an image file');
|
||||
isValid = false;
|
||||
return false; // Exit the loop early
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
<div class="row float-right" style="padding-bottom: 10px;">
|
||||
<div class="col-6">
|
||||
<button type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light">Add</button>
|
||||
<button type="button" id="btnBranchAdd" class="btn btn-primary waves-effect waves-light"><i class="fa fa-plus-square" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -11,22 +11,12 @@
|
||||
<table class="table table-borderless table-nowrap mb-0">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Branch Name</th>
|
||||
<th>Branch Code</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>App design and development</td>
|
||||
<td>01/01/2015</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Coffee detail page - Main Page</td>
|
||||
<td>21/07/2016</td>
|
||||
</tr>
|
||||
<tbody id="branch_list">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -36,29 +26,54 @@
|
||||
<div class="card-body">
|
||||
<div class="row float-right" style="position: relative; bottom: 20px;">
|
||||
<div class="col-6">
|
||||
<button type="button" class="btn btn-primary waves-effect waves-light btnBack">Back</button>
|
||||
<button type="button" class="btn btn-primary waves-effect waves-light btnBack"><i class="fa fa-list" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<form role="form" class="parsley-examples" method="post" id="UserForm" action=""
|
||||
<form role="form" class="parsley-examples" method="post" id="branch_form"
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="UserId" />
|
||||
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="branch_PrimaryKey" />
|
||||
<input type="hidden" name="client_id" id="client_id_branch" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-6">
|
||||
<label for="first_name">Branch Name<span
|
||||
<label for="branch_name">Branch Name<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Branch Name" name="first_name" required>
|
||||
<input type="text" class="form-control" id="branch_name"
|
||||
placeholder="Enter Branch Name" name="branch_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="last_name">Branch Code<span
|
||||
<label for="branch_code">Branch Code<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Branch Code" name="last_name" required>
|
||||
<input type="text" class="form-control" id="branch_code"
|
||||
placeholder="Enter Branch Code" name="branch_code" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="state">State<span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="state" name="state" required>
|
||||
<option value="">Select State</option>
|
||||
<?php foreach($state as $value) { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['state'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="district">District<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="district"
|
||||
placeholder="Enter District" name="district" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="city">City</label>
|
||||
<input type="text" class="form-control" id="branch_city"
|
||||
placeholder="Enter City" name="city" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -67,47 +82,31 @@
|
||||
<br>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Contact Level<span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select Contact Level</option>
|
||||
<?php foreach($contact_level as $key => $value) { ?>
|
||||
<option value="<?= $key ?>"><?= $value ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<div class="form-group col-md-6">
|
||||
<label for="first_name">Name<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Contact Name" name="first_name" required>
|
||||
<input type="text" class="form-control" id="name0"
|
||||
placeholder="Enter Contact Name" name="name[]" >
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<div class="form-group col-md-6">
|
||||
<label for="last_name">Email<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Contact Email" name="last_name" required>
|
||||
<input type="text" class="form-control" id="email0"
|
||||
placeholder="Enter Contact Email" name="email[]" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">Mobile<span
|
||||
<div class="form-group col-md-6">
|
||||
<label for="mobile">Mobile<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Contact Mobile" name="last_name" required>
|
||||
<input type="text" class="form-control" id="mobile0"
|
||||
placeholder="Enter Contact Mobile" name="mobile[]" >
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">City<span
|
||||
<div class="form-group col-md-6">
|
||||
<label for="designation">Designation<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Contact City" name="first_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Level Name</label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Level Name" name="first_name" >
|
||||
<input type="text" class="form-control" id="designation0"
|
||||
placeholder="Enter Designation Name" name="designation[]" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -116,47 +115,28 @@
|
||||
<br>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Contact Level<span
|
||||
<div class="form-group col-md-6">
|
||||
<label for="name">Name<span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select Contact Level</option>
|
||||
<?php foreach($contact_level as $key => $value) { ?>
|
||||
<option value="<?= $key ?>"><?= $value ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<input type="text" class="form-control" id="name1"
|
||||
placeholder="Enter Contact Name" name="name[]" >
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Name<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Contact Name" name="first_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">Email<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Contact Email" name="last_name" required>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="email">Email</label>
|
||||
<input type="text" class="form-control" id="email1"
|
||||
placeholder="Enter Contact Email" name="email[]" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">Mobile<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Contact Mobile" name="last_name" required>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="mobile">Mobile</label>
|
||||
<input type="text" class="form-control" id="mobile1"
|
||||
placeholder="Enter Contact Mobile" name="mobile[]" >
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">City<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Contact City" name="first_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Level Name</label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Level Name" name="first_name" >
|
||||
<div class="form-group col-md-6">
|
||||
<label for="designation">Designation</label>
|
||||
<input type="text" class="form-control" id="designation1"
|
||||
placeholder="Enter Designation Name" name="designation[]">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -165,52 +145,30 @@
|
||||
<br>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Contact Level<span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select Contact Level</option>
|
||||
<?php foreach($contact_level as $key => $value) { ?>
|
||||
<option value="<?= $key ?>"><?= $value ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="name">Name</label>
|
||||
<input type="text" class="form-control" id="name2"
|
||||
placeholder="Enter Contact Name" name="name[]" >
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Level Name</label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Level Name" name="first_name" >
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Name<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Contact Name" name="first_name" required>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="email">Email</label>
|
||||
<input type="text" class="form-control" id="email2"
|
||||
placeholder="Enter Contact Email" name="email[]" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">Email<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Contact Email" name="last_name" required>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="mobile">Mobile</label>
|
||||
<input type="text" class="form-control" id="mobile2"
|
||||
placeholder="Enter Contact Mobile" name="mobile[]" >
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="last_name">Mobile<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="last_name"
|
||||
placeholder="Enter Contact Mobile" name="last_name" required>
|
||||
<div class="form-group col-md-6">
|
||||
<label for="designation">Designation</label>
|
||||
<input type="text" class="form-control" id="designation2"
|
||||
placeholder="Enter Designation Name" name="designation[]" >
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">City<span
|
||||
class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="first_name"
|
||||
placeholder="Enter Contact City" name="first_name" required>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group text-right m-b-0">
|
||||
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
|
||||
@ -228,16 +186,45 @@
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
var branch_PrimaryKey = $('#client_id_branch').val();
|
||||
var branch_form_action = '';
|
||||
|
||||
$('#add_branch').hide();
|
||||
$('.btnBack').hide();
|
||||
|
||||
|
||||
|
||||
|
||||
$('#btnBranchAdd').click(function(){
|
||||
|
||||
branch_form_action = '<?= base_url("client/branch/create"); ?>';
|
||||
|
||||
$('#btnAdd').click(function(){
|
||||
$('#add_branch').show();
|
||||
$('#branch_table').hide();
|
||||
$('.btnBack').show();
|
||||
$('#btnAdd').hide();
|
||||
$('#UserForm').attr('action', '<?php echo base_url('/user/create');?>');
|
||||
$('#btnBranchAdd').hide();
|
||||
|
||||
$('#branch_name').val('');
|
||||
$('#branch_code').val('');
|
||||
$('#state').val('');
|
||||
$('#district').val('');
|
||||
$('#branch_city').val('');
|
||||
|
||||
$('#name0').val('');
|
||||
$('#email0').val('');
|
||||
$('#mobile0').val('');
|
||||
$('#designation0').val('');
|
||||
|
||||
$('#name1').val('');
|
||||
$('#email1').val('');
|
||||
$('#mobile1').val('');
|
||||
$('#designation1').val('');
|
||||
|
||||
$('#name2').val('');
|
||||
$('#email2').val('');
|
||||
$('#mobile2').val('');
|
||||
$('#designation2').val('');
|
||||
})
|
||||
|
||||
$('.btnBack').click(function(){
|
||||
@ -245,66 +232,123 @@ $(document).ready(function () {
|
||||
$('#add_branch').hide();
|
||||
$('#branch_table').show();
|
||||
$('.btnBack').hide();
|
||||
$('#btnAdd').show();
|
||||
$('#btnBranchAdd').show();
|
||||
|
||||
$('#branch_name').val('');
|
||||
$('#branch_code').val('');
|
||||
$('#state').val('');
|
||||
$('#district').val('');
|
||||
$('#branch_city').val('');
|
||||
|
||||
$('#name0').val('');
|
||||
$('#email0').val('');
|
||||
$('#mobile0').val('');
|
||||
$('#designation0').val('');
|
||||
|
||||
$('#name1').val('');
|
||||
$('#email1').val('');
|
||||
$('#mobile1').val('');
|
||||
$('#designation1').val('');
|
||||
|
||||
$('#name2').val('');
|
||||
$('#email2').val('');
|
||||
$('#mobile2').val('');
|
||||
$('#designation2').val('');
|
||||
|
||||
})
|
||||
|
||||
$('body').on('click', '.btnEdit', function () {
|
||||
var student_id = $(this).attr('data-id');
|
||||
|
||||
if(branch_PrimaryKey !== ''){
|
||||
|
||||
var branchTable = '';
|
||||
var data = <?= isset($client_branch) ? json_encode($client_branch) : '[]' ?>;
|
||||
$.each(data, function(index, item) {
|
||||
branchTable += `
|
||||
<tr>
|
||||
<td>${item.branch_name}</td>
|
||||
<td>${item.branch_code}</td>
|
||||
<td><a class="btnBranchEdit" data-id="${item.id}" href="#"><i data-id="${item.id}" class="mdi mdi-lead-pencil btnBranchEdit" style="font-size:18px;"></i></a></td>
|
||||
</tr>
|
||||
`;
|
||||
});
|
||||
$('#branch_list').append(branchTable);
|
||||
}
|
||||
|
||||
|
||||
$("#branch_form").submit(function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
// Perform validation
|
||||
var isValid = true; // Assuming you have a function for form validation
|
||||
|
||||
if (isValid) {
|
||||
|
||||
var formData = new FormData($('#branch_form')[0]);
|
||||
|
||||
$.ajax({
|
||||
data: formData,
|
||||
url: branch_form_action,
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
console.log(res);
|
||||
$('#branch_list tr').remove();
|
||||
var branchTableInsert = ''
|
||||
$.each(res.data, function(index, item) {
|
||||
branchTableInsert += `
|
||||
<tr>
|
||||
<td>${item.branch_name}</td>
|
||||
<td>${item.branch_code}</td>
|
||||
<td><a class="btnBranchEdit" data-id="${item.id}" href="#"><i data-id="${item.id}" class="mdi mdi-lead-pencil btnBranchEdit" style="font-size:18px;"></i></a></td>
|
||||
</tr>
|
||||
`;
|
||||
});
|
||||
$('#branch_list').append(branchTableInsert);
|
||||
$('#add_branch').hide();
|
||||
$('#branch_table').show();
|
||||
$('.btnBack').hide();
|
||||
$('#btnBranchAdd').show();
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click', '.btnBranchEdit', function () {
|
||||
var branch_id = $(this).attr('data-id');
|
||||
branch_form_action = '<?= base_url("client/branch/edit"); ?>';
|
||||
$.ajax({
|
||||
url: '<?php echo base_url('user/getuser/');?>'+student_id,
|
||||
url: '<?php echo base_url('client/branch/list/');?>'+branch_id,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
console.log(res)
|
||||
$('#role').val('')
|
||||
$('#Add-Edit-Page').show();
|
||||
$('.header-title').html('Edit User');
|
||||
$('#List-page').hide();
|
||||
|
||||
console.log(res)
|
||||
$('#add_branch').show();
|
||||
$('#branch_table').hide();
|
||||
$('.btnBack').show();
|
||||
$('#btnAdd').hide();
|
||||
$('#UserForm').attr('action', '<?php echo base_url('user/edit');?>');
|
||||
$('#UserId').val(res.data.id);
|
||||
$('#first_name').val(res.data.first_name);
|
||||
$('#last_name').val(res.data.last_name);
|
||||
$('#email').val(res.data.email);
|
||||
$('#mobile').val(res.data.mobile);
|
||||
$('#emp_code').val(res.data.emp_code);
|
||||
$('#btnSubmit').html('Update');
|
||||
$.each(res.roleData, function(index, item) {
|
||||
var isSelected = res.userTeamData.some(function(userTeamItem) {
|
||||
return res.data.role === item.id;
|
||||
});
|
||||
|
||||
$('#role').append($('<option>', {
|
||||
value: item.id,
|
||||
text : item.role,
|
||||
selected: isSelected
|
||||
}));
|
||||
$('#btnBranchAdd').hide();
|
||||
$('#branch_name').val(res.data.branch_name);
|
||||
$('#branch_code').val(res.data.branch_code);
|
||||
$('#state option[value="' + res.data.state + '"]').prop('selected', true);
|
||||
$('#district').val(res.data.district);
|
||||
$('#branch_city').val(res.data.city);
|
||||
$('#branch_PrimaryKey').val(res.data.id);
|
||||
|
||||
$.each(res.contact, function(index, contact) {
|
||||
if (contact !== undefined) {
|
||||
$('#name' + index).val(contact.name !== undefined ? contact.name : '');
|
||||
$('#email' + index).val(contact.email !== undefined ? contact.email : '');
|
||||
$('#mobile' + index).val(contact.mobile !== undefined ? contact.mobile : '');
|
||||
$('#designation' + index).val(contact.designation !== undefined ? contact.designation : '');
|
||||
}
|
||||
});
|
||||
$.each(res.teamData, function(index, item) {
|
||||
|
||||
var isSelected = res.userTeamData.some(function(userTeamItem) {
|
||||
return userTeamItem.team_id === item.id;
|
||||
});
|
||||
|
||||
$('#team').append($('<option>', {
|
||||
value: item.id,
|
||||
text : item.name,
|
||||
selected: isSelected
|
||||
}));
|
||||
});
|
||||
$('#team').multiselect({
|
||||
nonSelectedText: 'Select Team',
|
||||
enableFiltering: false,
|
||||
enableCaseInsensitiveFiltering: false,
|
||||
includeSelectAllOption : false,
|
||||
buttonWidth:'100%'
|
||||
});
|
||||
if(res.data.profile){
|
||||
$('#ajaxImgUpload').attr('src', '<?php echo base_url();?>public/uploads/'+res.data.profile).width(100);
|
||||
}else{
|
||||
$('#ajaxImgUpload').attr('src', 'https://via.placeholder.com/300').width(100);
|
||||
}
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
@ -313,6 +357,7 @@ $(document).ready(function () {
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
@ -3,26 +3,28 @@
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card-body">
|
||||
<form role="form" class="parsley-examples" method="post" id="UserForm" action=""
|
||||
<form role="form" class="parsley-examples" method="post" id="kyc_form"
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="UserId" />
|
||||
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="kyc_PrimaryKey" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
|
||||
<input type="hidden" name="client_id" id="client_id_kyc" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
|
||||
<input type="hidden" name="entity_type" id="entity_type" />
|
||||
<div class="form-group">
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="emp_code">Document Type</label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select Document</option>
|
||||
<select class="form-control" id="kyc_docs" name="kyc_doc_id" required>
|
||||
<option value="">Select Kyc Docs</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="profile">File</label>
|
||||
<input class="form-control" type="file" name="profile"
|
||||
multiple="true" id="profile">
|
||||
<label for="kyc_docs">File</label>
|
||||
<input class="form-control" type="file" name="file_name"
|
||||
multiple="true" id="kyc_docs_file" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4 align-self-end">
|
||||
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1"id="btnSubmit">Submit</button>
|
||||
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1"id="btnSubmit">Upload</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -31,6 +33,199 @@
|
||||
</div>
|
||||
</div> <!-- end col-->
|
||||
</div>
|
||||
|
||||
<div class="col-lg-8">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table id="kyc_table" class="table table-sm mb-0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Document Name</th>
|
||||
<th>File Name</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody">
|
||||
</tbody>
|
||||
</table>
|
||||
</div> <!-- end table-responsive-->
|
||||
|
||||
</div>
|
||||
</div> <!-- end card -->
|
||||
</div> <!-- end col -->
|
||||
<!-- end row -->
|
||||
</div>
|
||||
<!-- end -->
|
||||
<!-- end -->
|
||||
|
||||
<script>
|
||||
|
||||
var kycPrimaryKey = $('#kyc_PrimaryKey').val();
|
||||
$(document).ready(function(){
|
||||
|
||||
|
||||
// $('#kyc_docs').change(function(){
|
||||
// var selectedValue = $(this).val()
|
||||
// console.log(selectedValue);
|
||||
// })
|
||||
|
||||
|
||||
|
||||
if(kycPrimaryKey !== ''){
|
||||
var OptionsHTML3 =""
|
||||
$.ajax({
|
||||
url: '<?= base_url("client/kyc/list/"); ?>'+'<?= isset($client['entity_type_id']) ? $client['entity_type_id'] : '' ?>',
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
console.log(res);
|
||||
$.each(res.data, function(index, item) {
|
||||
OptionsHTML3 += '<option value="' + item.id + '">' + item.file_name + '</option>';
|
||||
});
|
||||
$('#kyc_docs').html(OptionsHTML3);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
var table = '';
|
||||
var data = <?= isset($client_kyc) ? json_encode($client_kyc) : '[]' ?>;
|
||||
$('#tbody tr').remove();
|
||||
$.each(data, function(index, item) {
|
||||
table += `
|
||||
<tr id="kyc-${item.id}">
|
||||
<td>${item.client_file_name}</td>
|
||||
<td>${item.file_name}</td>
|
||||
<td><i data-id="${item.id}" class="mdi mdi-delete btnKycDelete" style="font-size:18px;"></i></td>
|
||||
</tr>
|
||||
`;
|
||||
});
|
||||
$('#tbody').append(table);
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
$("#kyc_form").submit(function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
// Perform validation
|
||||
var isValid = validateForm(); // Assuming you have a function for form validation
|
||||
var rowHtml = '';
|
||||
var form_action = '';
|
||||
if (isValid) {
|
||||
|
||||
if(kycPrimaryKey === ''){
|
||||
form_action = '<?= base_url("client/kyc/create"); ?>';
|
||||
}else{
|
||||
form_action = '<?= base_url("client/kyc/edit"); ?>';
|
||||
}
|
||||
var formData = new FormData($('#kyc_form')[0]);
|
||||
|
||||
$.ajax({
|
||||
data: formData,
|
||||
url: form_action,
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
console.log(res);
|
||||
if(kycPrimaryKey === ''){
|
||||
$.toast({
|
||||
text: 'Client Relation Info',
|
||||
heading: "Submitted Sucessfully",
|
||||
position: 'top-right',
|
||||
icon: 'success',
|
||||
});
|
||||
}else{
|
||||
$.toast({
|
||||
text: 'Client Relation Info',
|
||||
heading: "Updated Sucessfully",
|
||||
position: 'top-right',
|
||||
icon: 'success',
|
||||
});
|
||||
}
|
||||
$('#tbody tr').remove();
|
||||
$.each(res.data, function(index, item) {
|
||||
rowHtml += `
|
||||
<tr id="kyc-${item.id}">
|
||||
<td>${item.client_file_name}</td>
|
||||
<td>${item.file_name}</td>
|
||||
<td><i data-id="${item.id}" class="mdi mdi-delete btnKycDelete" style="font-size:18px;"></i></td>
|
||||
</tr>
|
||||
`;
|
||||
});
|
||||
$('#tbody').append(rowHtml);
|
||||
$('#kyc_docs_file').val('');
|
||||
$('#kyc_docs').val('');
|
||||
$('#kyc_docs').val('Select Document Type');
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on('click', '.btnKycDelete', function () {
|
||||
|
||||
Swal.fire({
|
||||
title: "Are you sure?",
|
||||
text: "You won't be able to revert this!",
|
||||
icon: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#3085d6",
|
||||
cancelButtonColor: "#d33",
|
||||
confirmButtonText: "Yes, delete it!"
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
|
||||
var kyc_id = $(this).attr('data-id');
|
||||
$.get('<?php echo base_url('client/kyc/delete/');?>'+kyc_id, function (data) {
|
||||
console.log('kyc-'+ kyc_id)
|
||||
if(data){
|
||||
$('#kyc-'+ kyc_id).remove();
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
function validateForm() {
|
||||
var isValid = true;
|
||||
|
||||
// Perform validation for each field
|
||||
$('#kyc_form input, #kyc_form select').each(function() {
|
||||
// Check for empty text inputs and selects
|
||||
if ($(this).is('input[type="text"]') || $(this).is('select')) {
|
||||
if ($.trim($(this).val()) == '') {
|
||||
alert('Please fill in all fields');
|
||||
isValid = false;
|
||||
return false; // Exit the loop early
|
||||
}
|
||||
}
|
||||
|
||||
// Check for file inputs (assuming image files)
|
||||
if ($(this).is('input[type="file"]')) {
|
||||
var fileInput = $(this)[0];
|
||||
if (fileInput.files.length === 0) {
|
||||
console.log('Please select an image file');
|
||||
isValid = false;
|
||||
return false; // Exit the loop early
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
</script>
|
||||
@ -1,137 +1,51 @@
|
||||
<!-- start page title -->
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="page-title-box page-title-box-alt">
|
||||
<h4 class="page-title"></h4>
|
||||
<div class="page-title-right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end page title -->
|
||||
<div class="row" id="client_list">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="row" style="padding-bottom: 10px;">
|
||||
<div class="col-6" style="align-self: center;">
|
||||
<h4 class="header-title" style="position: relative;">Client List</h4>
|
||||
<div class="row" style="margin-bottom:1rem;">
|
||||
<div class="col-6" style="align-self: center;">
|
||||
<h4 class="header-title" style="position: relative;">Client List</h4>
|
||||
</div>
|
||||
<div class="col-6" style="text-align: right; position: relative;top: 53px;">
|
||||
<a href="<?= base_url("client/create"); ?>" type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light" data-toggle="" data-placement="top" title="Add" data-trigger="hover">ADD</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6" style="text-align: right;">
|
||||
<a href="<?= base_url("client/create"); ?>" class="btn btn-primary waves-effect waves-light">Add</a>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0" id="tickets-table">
|
||||
<table class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
|
||||
id="tickets-table">
|
||||
<thead class="bg-light">
|
||||
<tr>
|
||||
<th class="font-weight-medium">ID</th>
|
||||
<th class="font-weight-medium">Requested By</th>
|
||||
<th class="font-weight-medium">Subject</th>
|
||||
<th class="font-weight-medium">Assignee</th>
|
||||
<th class="font-weight-medium">Priority</th>
|
||||
<th class="font-weight-medium">Status</th>
|
||||
<th class="font-weight-medium">Created Date</th>
|
||||
<th class="font-weight-medium">Due Date</th>
|
||||
<th class="font-weight-medium">Action</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="font-weight-medium">Client Name</th>
|
||||
<th class="font-weight-medium">Account Manager</th>
|
||||
<th class="font-weight-medium">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody class="font-14">
|
||||
<tbody>
|
||||
<?php foreach($clientList as $row){ ?>
|
||||
<tr>
|
||||
<td><b>#1256</b></td>
|
||||
<td><?php echo $row->client_name; ?> ( <?php echo $row->short_name; ?> ) </td>
|
||||
<td>
|
||||
<a href="javascript: void(0);" class="text-dark">
|
||||
<img src="../assets/images/users/avatar-2.jpg" alt="contact-img" title="contact-img" class="avatar-sm rounded-circle img-thumbnail" />
|
||||
<span class="ml-2">George A. Lianes</span>
|
||||
</a>
|
||||
<?php $account_managers = ''; ?>
|
||||
<?php foreach ($client_rm as $client): ?>
|
||||
<?php if ($client->client_id == $row->id): ?>
|
||||
<?php $account_managers .= $client->account_manager . ', '; ?>
|
||||
<?php endif; ?>
|
||||
<?php endforeach; ?>
|
||||
<?php echo rtrim($account_managers, ', '); ?>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
Support for theme
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a href="javascript: void(0);">
|
||||
<img src="../assets/images/users/avatar-10.jpg" alt="contact-img" title="contact-img" class="avatar-sm rounded-circle img-thumbnail" />
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-secondary">Low</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-success">Open</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
2017/04/28
|
||||
</td>
|
||||
|
||||
<td>
|
||||
2017/04/28
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<div class="btn-group dropdown">
|
||||
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown" aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
|
||||
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit Ticket</a>
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-check-all mr-2 text-muted font-18 vertical-middle"></i>Close</a>
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Remove</a>
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-star mr-2 font-18 text-muted vertical-middle"></i>Mark as Unread</a>
|
||||
<a class="dropdown-item" href="<?= base_url("client/list/"); ?><?= $row->id;?>"><i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Delete</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>#2542</b></td>
|
||||
<td>
|
||||
<a href="javascript: void(0);" class="text-dark">
|
||||
<img src="../assets/images/users/avatar-3.jpg" alt="contact-img" title="contact-img" class="avatar-sm rounded-circle img-thumbnail" />
|
||||
<span class="ml-2">Jose D. Delacruz</span>
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
New submission on your website
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a href="javascript: void(0);">
|
||||
<img src="../assets/images/users/avatar-9.jpg" alt="contact-img" title="contact-img" class="avatar-sm rounded-circle img-thumbnail" />
|
||||
</a>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-warning">Medium</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<span class="badge badge-secondary">Closed</span>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
2008/04/25
|
||||
</td>
|
||||
|
||||
<td>
|
||||
2008/04/25
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<div class="btn-group dropdown">
|
||||
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown" aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
|
||||
<div class="dropdown-menu dropdown-menu-right">
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit Ticket</a>
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-check-all mr-2 text-muted font-18 vertical-middle"></i>Close</a>
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Remove</a>
|
||||
<a class="dropdown-item" href="#"><i class="mdi mdi-star mr-2 font-18 text-muted vertical-middle"></i>Mark as Unread</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -139,3 +53,91 @@
|
||||
</div><!-- end col -->
|
||||
</div>
|
||||
<!-- end row -->
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#tickets-table').DataTable({
|
||||
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" ,
|
||||
buttons: [
|
||||
{
|
||||
extend: 'csv',
|
||||
text: 'CSV',
|
||||
title: 'ClientList',
|
||||
exportOptions: {
|
||||
columns: ':not(:last-child)'
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
|
||||
language: {
|
||||
search: "_INPUT_",
|
||||
searchPlaceholder: "Search..."
|
||||
},
|
||||
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
const btnExport = document.querySelector("#btnExport");
|
||||
const tableElement = document.querySelector("#tickets-table");
|
||||
|
||||
btnExport.addEventListener("click", () => {
|
||||
const obj = new csvExport(tableElement);
|
||||
const csvData = obj.exportCsv();
|
||||
const blob = new Blob([csvData], { type: "text/csv" });
|
||||
const url = URL.createObjectURL(blob);
|
||||
const a = document.createElement("a");
|
||||
a.href = url;
|
||||
a.download = "UserList.csv";
|
||||
a.click();
|
||||
|
||||
setTimeout(() => {
|
||||
URL.revokeObjectURL(url);
|
||||
}, 500);
|
||||
});
|
||||
|
||||
|
||||
class csvExport {
|
||||
constructor(table, header = true) {
|
||||
this.table = table;
|
||||
this.rows = Array.from(table.querySelectorAll("tr"));
|
||||
if (!header && this.rows[0].querySelectorAll("th").length) {
|
||||
this.rows.shift();
|
||||
}
|
||||
}
|
||||
|
||||
exportCsv() {
|
||||
const lines = [];
|
||||
const ncols = this._longestRow();
|
||||
for (const row of this.rows) {
|
||||
let line = "";
|
||||
for (let i = 0; i < ncols - 1; i++) { // Exclude the last column
|
||||
if (row.children[i] !== undefined) {
|
||||
line += csvExport.safeData(row.children[i]);
|
||||
}
|
||||
line += i !== ncols - 2 ? "," : ""; // Adjusted for the last column exclusion
|
||||
}
|
||||
lines.push(line);
|
||||
}
|
||||
return lines.join("\n");
|
||||
}
|
||||
|
||||
_longestRow() {
|
||||
return this.rows.reduce((length, row) => (row.childElementCount > length ? row.childElementCount : length), 0);
|
||||
}
|
||||
|
||||
static safeData(td) {
|
||||
let data = td.textContent;
|
||||
//Replace all double quote to two double quotes
|
||||
data = data.replace(/"/g, `""`);
|
||||
//Replace , and \n to double quotes
|
||||
data = /[",\n"]/.test(data) ? `"${data}"` : data;
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
@ -1,5 +1,36 @@
|
||||
<style>
|
||||
|
||||
<div class="row mt-4" id="client_add">
|
||||
body {
|
||||
.multiselect-native-select {
|
||||
position: relative;
|
||||
/* bottom: 32px; */
|
||||
select {
|
||||
border: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
height: 1px !important;
|
||||
margin: -1px -1px -1px -3px !important;
|
||||
overflow: hidden !important;
|
||||
padding: 0 !important;
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
left: 50%;
|
||||
top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.multiselect-container{
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.multiselect-selected-text{
|
||||
float: left !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="row" id="client_add">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
@ -8,7 +39,7 @@
|
||||
<h4 class="header-title" style="position: relative;">Client Onboarding</h4>
|
||||
</div>
|
||||
<div class="col-6" style="text-align: right;">
|
||||
<a href="<?= base_url("client/list"); ?>" class="btn btn-primary waves-effect waves-light">Back</a>
|
||||
<!-- <a href="<?= base_url("client/list"); ?>" class="btn btn-primary waves-effect waves-light">Back</a> -->
|
||||
</div>
|
||||
</div>
|
||||
<ul class="nav nav-pills navtab-bg">
|
||||
@ -20,7 +51,7 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#KYC-DOC-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2">
|
||||
<a href="#KYC-DOC-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="kyc_tab">
|
||||
<span class="mr-1"><i class="fa fa-file"></i></span>
|
||||
<span class="d-none d-sm-inline-block">KYC Docs</span>
|
||||
</a>
|
||||
@ -40,7 +71,7 @@
|
||||
<li class="nav-item">
|
||||
<a href="#police-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2">
|
||||
<span class="mr-1"><i class="mdi mdi-book-open-page-variant"></i></span>
|
||||
<span class="d-none d-sm-inline-block">Polices</span>
|
||||
<span class="d-none d-sm-inline-block">Policies</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
|
||||
<div class="row float-right" style="padding-bottom: 10px;">
|
||||
<div class="col-6">
|
||||
<button type="button" id="BtnAdd" class="btn btn-primary waves-effect waves-light btnAdd">Add</button>
|
||||
<button type="button" id="BtnAdd" class="btn btn-primary waves-effect waves-light btnAdd"><i class="fa fa-plus-square" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -13,22 +13,13 @@
|
||||
<table class="table table-borderless table-nowrap mb-0">
|
||||
<thead class="thead-light">
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Branch Name</th>
|
||||
<th>Branch Code</th>
|
||||
<th>Insurer</th>
|
||||
<th>Policy</th>
|
||||
<th>TPA</th>
|
||||
<th>Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>App design and development</td>
|
||||
<td>01/01/2015</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>Coffee detail page - Main Page</td>
|
||||
<td>21/07/2016</td>
|
||||
</tr>
|
||||
<tbody id="policy_table">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -39,37 +30,45 @@
|
||||
|
||||
<div class="row float-right" style="position: relative; bottom: 20px;">
|
||||
<div class="col-6">
|
||||
<button type="button" class="btn btn-primary waves-effect waves-light btnBack">Back</button>
|
||||
<button type="button" class="btn btn-primary waves-effect waves-light btnBack"><i class="fa fa-list" aria-hidden="true"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<form role="form" class="parsley-examples" method="post" id="UserForm" action=""
|
||||
<form role="form" class="parsley-examples" method="post" id="policy_form"
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="UserId" />
|
||||
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="policy_PrimaryKey" />
|
||||
<input type="hidden" id="policy_form_action" />
|
||||
<input type="hidden" name="client_id" id="client_id_police" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="email">Insurer<span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select Insurer Branch</option>
|
||||
<select class="form-control" id="insurer" name="insurer">
|
||||
<option value="">Select Insurer</option>
|
||||
<?php foreach($insurer as $value) { ?>
|
||||
<option value="<?= $value['id'] . '-' . $value['insurer_id']?>"><?= $value['insurer_name'] . '-' . $value['branch_code'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="first_name">Polices<span
|
||||
<label for="policy">Policies<span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select Policy</option>
|
||||
<select class="form-control" id="policy" name="policy_id">
|
||||
<option value="" selected>Select Policy</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="mobile">TPA<span
|
||||
class="text-danger">*</span></label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<option value="">Select TPA Branch</option>
|
||||
<select class="form-control" id="tpa" name="tpa">
|
||||
<option value="">Select TPA</option>
|
||||
<?php foreach($tpa as $value) { ?>
|
||||
<option value="<?= $value['id']. '-' . $value['tpa_id'] ?>"><?= $value['tpa_short_name'] . '-' . $value['branch_code'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -91,7 +90,10 @@
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
|
||||
var policy_PrimaryKey = $('#client_id_police').val();
|
||||
var policy_client = $('#policy_PrimaryKey').val();
|
||||
|
||||
$('#add_form').hide();
|
||||
$('.btnBack').hide();
|
||||
|
||||
@ -100,7 +102,8 @@ $(document).ready(function () {
|
||||
$('#table_list').hide();
|
||||
$('.btnBack').show();
|
||||
$('.btnAdd').hide();
|
||||
$('#UserForm').attr('action', '<?php echo base_url('/user/create');?>');
|
||||
$('#policy_form_action').val('<?= base_url("client/policy/edit"); ?>');
|
||||
;
|
||||
})
|
||||
|
||||
$('.btnBack').click(function(){
|
||||
@ -109,8 +112,160 @@ $(document).ready(function () {
|
||||
$('#table_list').show();
|
||||
$('.btnBack').hide();
|
||||
$('.btnAdd').show();
|
||||
$('#insurer').val('');
|
||||
$('#tpa').val('');
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>');
|
||||
|
||||
})
|
||||
|
||||
|
||||
toastr.options = {
|
||||
"timeOut": 2000,
|
||||
"closeButton": true,
|
||||
};
|
||||
|
||||
if (policy_PrimaryKey !== '') {
|
||||
var policyTable = '';
|
||||
var data = <?= isset($client_policy) ? json_encode($client_policy) : '[]' ?>;
|
||||
console.log(data);
|
||||
|
||||
data.forEach(function(item) {
|
||||
policyTable += `
|
||||
<tr>
|
||||
<td>${item.insurer_short} - ${item.insurer_branch_name}</td>
|
||||
<td>${item.policy_name}</td>
|
||||
<td>${item.tpa_short} - ${item.tpa_branch_code}</td>
|
||||
<td><a data-id="${item.id}" class="btnPolicyEdit" href="#"><i data-id="${item.id}" class="mdi mdi-lead-pencil btnPolicyEdit" style="font-size:18px;"></i></a></td>
|
||||
</tr>
|
||||
`;
|
||||
});
|
||||
|
||||
$('#policy_table').append(policyTable);
|
||||
}
|
||||
|
||||
$("#policy_form").submit(function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
if (policy_PrimaryKey === '' && policy_client === '') {
|
||||
toastr.error('Client ID is required', 'Error');
|
||||
$('#insurer').val('');
|
||||
$('#tpa').val('');
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>');
|
||||
return;
|
||||
}
|
||||
|
||||
var formData = new FormData($('#policy_form')[0]);
|
||||
var policy_form_action = $('#policy_form_action').val();
|
||||
|
||||
$.ajax({
|
||||
data: formData,
|
||||
url: policy_form_action,
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
|
||||
if (res.status === false) {
|
||||
toastr.error('Policy Dose Not Create', 'Error');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(res);
|
||||
var message = (policy_PrimaryKey === '') ? 'Policy Created successfully' : 'Updated Successfully';
|
||||
toastr.success(message, 'Success');
|
||||
|
||||
$('#policy_table tr').remove();
|
||||
var policyTable = '';
|
||||
$.each(res.data, function(index, item) {
|
||||
policyTable += `
|
||||
<tr>
|
||||
<td>${item.insurer_short} - ${item.insurer_branch_name}</td>
|
||||
<td>${item.policy_name}</td>
|
||||
<td>${item.tpa_short} - ${item.tpa_branch_code}</td>
|
||||
<td><a data-id="${item.id}" class="btnPolicyEdit" href="#"><i data-id="${item.id}" class="mdi mdi-lead-pencil btnPolicyEdit" style="font-size:18px;"></i></a></td>
|
||||
</tr>
|
||||
`;
|
||||
});
|
||||
$('#policy_table').append(policyTable);
|
||||
$('#add_form').hide();
|
||||
$('#table_list').show();
|
||||
$('.btnBack').hide();
|
||||
$('.btnAdd').show();
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('#insurer').change(function() {
|
||||
var id = $(this).val();
|
||||
var url = "<?= base_url("util/police-by-insurer/") ?>" + id;
|
||||
|
||||
$.get(url, function(res) {
|
||||
res = JSON.parse(res)
|
||||
var OptionsHTML = '';
|
||||
$.each(res.data, function(index, item) {
|
||||
OptionsHTML += '<option value="' + item.id + '">' + item.name + '</option>';
|
||||
});
|
||||
|
||||
$('#policy').html(OptionsHTML);
|
||||
}).fail(function(xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
$('body').on('click', '.btnPolicyEdit', function () {
|
||||
var policy_form_action = '';
|
||||
var policy_id = $(this).data('id');
|
||||
|
||||
$.ajax({
|
||||
url: '<?= base_url("client/policy/list/") ?>' + policy_id,
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function (res) {
|
||||
|
||||
$('#policy_form_action').val('<?= base_url("client/policy/edit"); ?>');
|
||||
|
||||
if (res.status === false) {
|
||||
toastr.error(res.status);
|
||||
return;
|
||||
}
|
||||
|
||||
$('#add_form').show();
|
||||
$('#table_list').hide();
|
||||
$('.btnBack').show();
|
||||
$('.btnAdd').hide();
|
||||
|
||||
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id);
|
||||
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id);
|
||||
$('#policy').val(res.data.policy_id);
|
||||
$('#policy_PrimaryKey').val(res.data.id);
|
||||
|
||||
var policeOptionHTML = '';
|
||||
$.each(res.policy, function(index, item) {
|
||||
policeOptionHTML += '<option value="' + item.id + '" ' + (res.data.policy_id === item.id ? 'selected="selected"' : '') + '>' + item.name + '</option>';
|
||||
});
|
||||
$('#policy').html(policeOptionHTML);
|
||||
},
|
||||
error: function (xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@ -1,64 +1,43 @@
|
||||
<style>
|
||||
|
||||
body {
|
||||
.multiselect-native-select {
|
||||
position: relative;
|
||||
/* bottom: 32px; */
|
||||
select {
|
||||
border: 0 !important;
|
||||
clip: rect(0 0 0 0) !important;
|
||||
height: 1px !important;
|
||||
margin: -1px -1px -1px -3px !important;
|
||||
overflow: hidden !important;
|
||||
padding: 0 !important;
|
||||
position: absolute !important;
|
||||
width: 1px !important;
|
||||
left: 50%;
|
||||
top: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.multiselect-container{
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.multiselect-selected-text{
|
||||
float: left !important;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<div class="tab-pane fade" id="RM-tab">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card-body">
|
||||
<form role="form" class="parsley-examples" method="post" id="UserForm" action=""
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="UserId" />
|
||||
<form role="form" class="parsley-examples" method="post" id="relation_form" enctype="multipart/form-data">
|
||||
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
|
||||
<input type="hidden" name="PrimaryKey" id="relation_PrimaryKey" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
|
||||
<input type="hidden" name="client_id" id="client_id_relation" value="<?= isset($client['id']) ? $client['id'] : '' ?>"/>
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="emp_code">Account Manager</label>
|
||||
<select class="form-control" id="account_manager" name="role">
|
||||
<!-- <option value="">Select Account Manager</option> -->
|
||||
<select class="form-control" id="account_manager" name="account_manager[]" multiple>
|
||||
<?php foreach($RM as $value) { ?>
|
||||
<?php if($value['role'] === '3') { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['first_name'] ?></option>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="profile">Manager</label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<select class="form-control" id="manager" name="manager">user_id
|
||||
<option value="">Select Manager</option>
|
||||
<?php foreach($RM as $value) { ?>
|
||||
<?php if($value['role'] === '2') { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['first_name'] ?></option>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="profile">Head</label>
|
||||
<select class="form-control" id="role" name="role">
|
||||
<select class="form-control" id="head" name="head">
|
||||
<option value="">Select Head</option>
|
||||
<?php foreach($RM as $value) { ?>
|
||||
<?php if($value['role'] === '5') { ?>
|
||||
<option value="<?= $value['id'] ?>"><?= $value['first_name'] ?></option>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -80,6 +59,9 @@ body {
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
||||
var relation_PrimaryKey = $('#relation_PrimaryKey').val()
|
||||
|
||||
$('#account_manager').multiselect({
|
||||
nonSelectedText: 'Select Account Manager',
|
||||
enableFiltering: false,
|
||||
@ -87,5 +69,95 @@ body {
|
||||
includeSelectAllOption : false,
|
||||
buttonWidth:'100%'
|
||||
});
|
||||
|
||||
var data = <?= isset($client_relation) ? json_encode($client_relation) : '[]' ?>;
|
||||
if (relation_PrimaryKey !== '') {
|
||||
$.each(data, function(index, item) {
|
||||
$('#head option[value="' + item.user_id + '"]').prop('selected', true);
|
||||
$('#manager option[value="' + item.user_id + '"]').prop('selected', true);
|
||||
var $option = $('#account_manager option[value="' + item.user_id + '"]');
|
||||
if ($option.length > 0) {
|
||||
$option.prop('selected', true);
|
||||
}
|
||||
$('#account_manager').multiselect('refresh');
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$("#relation_form").submit(function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
// Perform validation
|
||||
var isValid = validateForm(); // Assuming you have a function for form validation
|
||||
var form_action = '';
|
||||
|
||||
if (isValid) {
|
||||
|
||||
if(relation_PrimaryKey === ''){
|
||||
form_action = '<?= base_url("client/relation/create"); ?>';
|
||||
}else{
|
||||
form_action = '<?= base_url("client/relation/edit"); ?>';
|
||||
}
|
||||
|
||||
var formData = new FormData($('#relation_form')[0]);
|
||||
|
||||
$.ajax({
|
||||
data: formData,
|
||||
url: form_action,
|
||||
type: "POST",
|
||||
dataType: 'json',
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
console.log(res);
|
||||
if(relation_PrimaryKey === ''){
|
||||
$.toast({
|
||||
text: 'Client Relation Info',
|
||||
heading: "Submitted Sucessfully",
|
||||
position: 'top-right',
|
||||
icon: 'success',
|
||||
});
|
||||
}else{
|
||||
$.toast({
|
||||
text: 'Client Relation Info',
|
||||
heading: "Updated Sucessfully",
|
||||
position: 'top-right',
|
||||
icon: 'success',
|
||||
});
|
||||
}
|
||||
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
console.error(xhr.responseText);
|
||||
console.error(status, error);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
function validateForm() {
|
||||
var isValid = true;
|
||||
|
||||
// Perform validation for each field
|
||||
$('#relation_form input, #relation_form select').each(function() {
|
||||
// Check for empty text inputs and selects
|
||||
if ($(this).is('input[type="text"]') || $(this).is('select')) {
|
||||
if ($.trim($(this).val()) == '') {
|
||||
alert('Please fill in all fields');
|
||||
isValid = false;
|
||||
return false; // Exit the loop early
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
@ -10,6 +10,7 @@ CLI::write($message);
|
||||
CLI::newLine();
|
||||
CLI::write('at ' . CLI::color(clean_path($exception->getFile()) . ':' . $exception->getLine(), 'green'));
|
||||
CLI::newLine();
|
||||
CLI::error('ERROR: ' . $code);
|
||||
|
||||
// The backtrace
|
||||
if (defined('SHOW_DEBUG_BACKTRACE') && SHOW_DEBUG_BACKTRACE) {
|
||||
|
||||
@ -7,15 +7,15 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<script>document.write(new Date().getFullYear())</script> © Minton theme by <a href="">Coderthemes</a>
|
||||
<script>document.write(new Date().getFullYear())</script> © NHANCE
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<!-- <div class="col-md-6">
|
||||
<div class="text-md-right footer-links d-none d-sm-block">
|
||||
<a href="javascript:void(0);">About Us</a>
|
||||
<a href="javascript:void(0);">Help</a>
|
||||
<a href="javascript:void(0);">Contact Us</a>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@ -31,400 +31,400 @@
|
||||
</div>
|
||||
<!-- END wrapper -->
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<div class="right-bar">
|
||||
<div data-simplebar class="h-100">
|
||||
<!-- Right Sidebar -->
|
||||
<div class="right-bar">
|
||||
<div data-simplebar class="h-100">
|
||||
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs nav-bordered nav-justified" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2" data-toggle="tab" href="#chat-tab" role="tab">
|
||||
<i class="mdi mdi-message-text-outline d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2" data-toggle="tab" href="#tasks-tab" role="tab">
|
||||
<i class="mdi mdi-format-list-checkbox d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2 active" data-toggle="tab" href="#settings-tab" role="tab">
|
||||
<i class="mdi mdi-cog-outline d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs nav-bordered nav-justified" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2" data-toggle="tab" href="#chat-tab" role="tab">
|
||||
<i class="mdi mdi-message-text-outline d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2" data-toggle="tab" href="#tasks-tab" role="tab">
|
||||
<i class="mdi mdi-format-list-checkbox d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2 active" data-toggle="tab" href="#settings-tab" role="tab">
|
||||
<i class="mdi mdi-cog-outline d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content pt-0">
|
||||
<div class="tab-pane" id="chat-tab" role="tabpanel">
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content pt-0">
|
||||
<div class="tab-pane" id="chat-tab" role="tabpanel">
|
||||
|
||||
<form class="search-bar p-3">
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control" placeholder="Search...">
|
||||
<span class="mdi mdi-magnify"></span>
|
||||
</div>
|
||||
</form>
|
||||
<form class="search-bar p-3">
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control" placeholder="Search...">
|
||||
<span class="mdi mdi-magnify"></span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-2 text-uppercase">Group Chats</h6>
|
||||
<h6 class="font-weight-medium px-3 mt-2 text-uppercase">Group Chats</h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-success"></i>
|
||||
<span class="mb-0 mt-1">App Development</span>
|
||||
</a>
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-success"></i>
|
||||
<span class="mb-0 mt-1">App Development</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-warning"></i>
|
||||
<span class="mb-0 mt-1">Office Work</span>
|
||||
</a>
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-warning"></i>
|
||||
<span class="mb-0 mt-1">Office Work</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-danger"></i>
|
||||
<span class="mb-0 mt-1">Personal Group</span>
|
||||
</a>
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-danger"></i>
|
||||
<span class="mb-0 mt-1">Personal Group</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1"></i>
|
||||
<span class="mb-0 mt-1">Freelance</span>
|
||||
</a>
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1"></i>
|
||||
<span class="mb-0 mt-1">Freelance</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-3 text-uppercase">Favourites <a href="javascript: void(0);" class="font-18 text-danger"><i class="float-right mdi mdi-plus-circle"></i></a></h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-10.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Andrew Mackie</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">It will seem like simplified English.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-1.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Rory Dalyell</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">To an English person, it will seem like simplified</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status busy"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-9.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Jaxon Dunhill</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">To achieve this, it would be necessary.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-3 text-uppercase">Other Chats <a href="javascript: void(0);" class="font-18 text-danger"><i class="float-right mdi mdi-plus-circle"></i></a></h6>
|
||||
|
||||
<div class="p-2 pb-4">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-2.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Jackson Therry</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">Everyone realizes why a new common language.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status away"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-4.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Charles Deakin</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">The languages only differ in their grammar.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-5.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Ryan Salting</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">If several languages coalesce the grammar of the resulting.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-6.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Sean Howse</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">It will seem like simplified English.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status busy"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-7.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Dean Coward</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">The new common language will be more simple.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status away"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-8.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Hayley East</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">One could refuse to pay expensive translators.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="text-center mt-3">
|
||||
<a href="javascript:void(0);" class="btn btn-sm btn-white">
|
||||
<i class="mdi mdi-spin mdi-loading mr-2"></i>
|
||||
Load more
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tasks-tab" role="tabpanel">
|
||||
<h6 class="font-weight-medium p-3 m-0 text-uppercase">Working Tasks</h6>
|
||||
<div class="px-2">
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">App Development<span class="float-right">75%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-success" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Database Repair<span class="float-right">37%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width: 37%" aria-valuenow="37" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Backup Create<span class="float-right">52%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-warning" role="progressbar" style="width: 52%" aria-valuenow="52" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mb-0 mt-4 text-uppercase">Upcoming Tasks</h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Sales Reporting<span class="float-right">12%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-danger" role="progressbar" style="width: 12%" aria-valuenow="12" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Redesign Website<span class="float-right">67%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-primary" role="progressbar" style="width: 67%" aria-valuenow="67" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">New Admin Design<span class="float-right">84%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-success" role="progressbar" style="width: 84%" aria-valuenow="84" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="p-3 mt-2">
|
||||
<a href="javascript: void(0);" class="btn btn-success btn-block waves-effect waves-light">Create Task</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane active" id="settings-tab" role="tabpanel">
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light">
|
||||
<span class="d-block py-1">Theme Settings</span>
|
||||
</h6>
|
||||
|
||||
<div class="p-3">
|
||||
<div class="alert alert-warning" role="alert">
|
||||
<strong>Customize </strong> the overall color scheme, sidebar menu, etc.
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Color Scheme</h6>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="color-scheme-mode" value="light"
|
||||
id="light-mode-check" checked />
|
||||
<label class="custom-control-label" for="light-mode-check">Light Mode</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="color-scheme-mode" value="dark"
|
||||
id="dark-mode-check" />
|
||||
<label class="custom-control-label" for="dark-mode-check">Dark Mode</label>
|
||||
</div>
|
||||
|
||||
<!-- Width -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Width</h6>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="width" value="fluid" id="fluid-check" checked />
|
||||
<label class="custom-control-label" for="fluid-check">Fluid</label>
|
||||
</div>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="width" value="boxed" id="boxed-check" />
|
||||
<label class="custom-control-label" for="boxed-check">Boxed</label>
|
||||
</div>
|
||||
|
||||
<!-- Topbar -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Topbar</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="topbar-color" value="dark" id="darktopbar-check"
|
||||
checked />
|
||||
<label class="custom-control-label" for="darktopbar-check">Dark</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="topbar-color" value="light" id="lighttopbar-check" />
|
||||
<label class="custom-control-label" for="lighttopbar-check">Light</label>
|
||||
</div>
|
||||
|
||||
<!-- Menu positions -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Menus Positon <small>(Leftsidebar and Topbar)</small></h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="menus-position" value="fixed" id="fixed-check"
|
||||
checked />
|
||||
<label class="custom-control-label" for="fixed-check">Fixed</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="menus-position" value="scrollable"
|
||||
id="scrollable-check" />
|
||||
<label class="custom-control-label" for="scrollable-check">Scrollable</label>
|
||||
</div>
|
||||
|
||||
<!-- Left Sidebar-->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Left Sidebar Color</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="light" id="light-check" checked />
|
||||
<label class="custom-control-label" for="light-check">Light</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="dark" id="dark-check" />
|
||||
<label class="custom-control-label" for="dark-check">Dark</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="brand" id="brand-check" />
|
||||
<label class="custom-control-label" for="brand-check">Brand</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-3">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="gradient" id="gradient-check" />
|
||||
<label class="custom-control-label" for="gradient-check">Gradient</label>
|
||||
</div>
|
||||
|
||||
<!-- size -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Left Sidebar Size</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="default"
|
||||
id="default-size-check" checked />
|
||||
<label class="custom-control-label" for="default-size-check">Default</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="condensed"
|
||||
id="condensed-check" />
|
||||
<label class="custom-control-label" for="condensed-check">Condensed <small>(Extra Small size)</small></label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="compact"
|
||||
id="compact-check" />
|
||||
<label class="custom-control-label" for="compact-check">Compact <small>(Small size)</small></label>
|
||||
</div>
|
||||
|
||||
<!-- User info -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Sidebar User Info</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="checkbox" class="custom-control-input" name="leftsidebar-user" value="fixed" id="sidebaruser-check" />
|
||||
<label class="custom-control-label" for="sidebaruser-check">Enable</label>
|
||||
</div>
|
||||
|
||||
|
||||
<button class="btn btn-primary btn-block mt-4" id="resetBtn">Reset to Default</button>
|
||||
|
||||
<a href=""
|
||||
class="btn btn-danger btn-block mt-2" target="_blank"><i class="mdi mdi-basket mr-1"></i> Purchase Now</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- end slimscroll-menu-->
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-3 text-uppercase">Favourites <a href="javascript: void(0);" class="font-18 text-danger"><i class="float-right mdi mdi-plus-circle"></i></a></h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-10.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Andrew Mackie</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">It will seem like simplified English.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-1.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Rory Dalyell</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">To an English person, it will seem like simplified</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status busy"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-9.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Jaxon Dunhill</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">To achieve this, it would be necessary.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-3 text-uppercase">Other Chats <a href="javascript: void(0);" class="font-18 text-danger"><i class="float-right mdi mdi-plus-circle"></i></a></h6>
|
||||
|
||||
<div class="p-2 pb-4">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-2.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Jackson Therry</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">Everyone realizes why a new common language.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status away"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-4.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Charles Deakin</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">The languages only differ in their grammar.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-5.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Ryan Salting</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">If several languages coalesce the grammar of the resulting.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-6.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Sean Howse</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">It will seem like simplified English.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status busy"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-7.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Dean Coward</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">The new common language will be more simple.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status away"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-8.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Hayley East</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">One could refuse to pay expensive translators.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="text-center mt-3">
|
||||
<a href="javascript:void(0);" class="btn btn-sm btn-white">
|
||||
<i class="mdi mdi-spin mdi-loading mr-2"></i>
|
||||
Load more
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tasks-tab" role="tabpanel">
|
||||
<h6 class="font-weight-medium p-3 m-0 text-uppercase">Working Tasks</h6>
|
||||
<div class="px-2">
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">App Development<span class="float-right">75%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-success" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Database Repair<span class="float-right">37%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width: 37%" aria-valuenow="37" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Backup Create<span class="float-right">52%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-warning" role="progressbar" style="width: 52%" aria-valuenow="52" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mb-0 mt-4 text-uppercase">Upcoming Tasks</h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Sales Reporting<span class="float-right">12%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-danger" role="progressbar" style="width: 12%" aria-valuenow="12" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Redesign Website<span class="float-right">67%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-primary" role="progressbar" style="width: 67%" aria-valuenow="67" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">New Admin Design<span class="float-right">84%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-success" role="progressbar" style="width: 84%" aria-valuenow="84" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="p-3 mt-2">
|
||||
<a href="javascript: void(0);" class="btn btn-success btn-block waves-effect waves-light">Create Task</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane active" id="settings-tab" role="tabpanel">
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light">
|
||||
<span class="d-block py-1">Theme Settings</span>
|
||||
</h6>
|
||||
|
||||
<div class="p-3">
|
||||
<div class="alert alert-warning" role="alert">
|
||||
<strong>Customize </strong> the overall color scheme, sidebar menu, etc.
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Color Scheme</h6>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="color-scheme-mode" value="light"
|
||||
id="light-mode-check" checked />
|
||||
<label class="custom-control-label" for="light-mode-check">Light Mode</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="color-scheme-mode" value="dark"
|
||||
id="dark-mode-check" />
|
||||
<label class="custom-control-label" for="dark-mode-check">Dark Mode</label>
|
||||
</div>
|
||||
|
||||
<!-- Width -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Width</h6>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="width" value="fluid" id="fluid-check" checked />
|
||||
<label class="custom-control-label" for="fluid-check">Fluid</label>
|
||||
</div>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="width" value="boxed" id="boxed-check" />
|
||||
<label class="custom-control-label" for="boxed-check">Boxed</label>
|
||||
</div>
|
||||
|
||||
<!-- Topbar -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Topbar</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="topbar-color" value="dark" id="darktopbar-check"
|
||||
checked />
|
||||
<label class="custom-control-label" for="darktopbar-check">Dark</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="topbar-color" value="light" id="lighttopbar-check" />
|
||||
<label class="custom-control-label" for="lighttopbar-check">Light</label>
|
||||
</div>
|
||||
|
||||
<!-- Menu positions -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Menus Positon <small>(Leftsidebar and Topbar)</small></h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="menus-position" value="fixed" id="fixed-check"
|
||||
checked />
|
||||
<label class="custom-control-label" for="fixed-check">Fixed</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="menus-position" value="scrollable"
|
||||
id="scrollable-check" />
|
||||
<label class="custom-control-label" for="scrollable-check">Scrollable</label>
|
||||
</div>
|
||||
|
||||
<!-- Left Sidebar-->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Left Sidebar Color</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="light" id="light-check" checked />
|
||||
<label class="custom-control-label" for="light-check">Light</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="dark" id="dark-check" />
|
||||
<label class="custom-control-label" for="dark-check">Dark</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="brand" id="brand-check" />
|
||||
<label class="custom-control-label" for="brand-check">Brand</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-3">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="gradient" id="gradient-check" />
|
||||
<label class="custom-control-label" for="gradient-check">Gradient</label>
|
||||
</div>
|
||||
|
||||
<!-- size -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Left Sidebar Size</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="default"
|
||||
id="default-size-check" checked />
|
||||
<label class="custom-control-label" for="default-size-check">Default</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="condensed"
|
||||
id="condensed-check" />
|
||||
<label class="custom-control-label" for="condensed-check">Condensed <small>(Extra Small size)</small></label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="compact"
|
||||
id="compact-check" />
|
||||
<label class="custom-control-label" for="compact-check">Compact <small>(Small size)</small></label>
|
||||
</div>
|
||||
|
||||
<!-- User info -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Sidebar User Info</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="checkbox" class="custom-control-input" name="leftsidebar-user" value="fixed" id="sidebaruser-check" />
|
||||
<label class="custom-control-label" for="sidebaruser-check">Enable</label>
|
||||
</div>
|
||||
|
||||
|
||||
<button class="btn btn-primary btn-block mt-4" id="resetBtn">Reset to Default</button>
|
||||
|
||||
<a href="https://wrapbootstrap.com/theme/minton-admin-dashboard-landing-template-WB0858DB6?ref=coderthemes"
|
||||
class="btn btn-danger btn-block mt-2" target="_blank"><i class="mdi mdi-basket mr-1"></i> Purchase Now</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- end slimscroll-menu-->
|
||||
</div>
|
||||
<!-- /Right-bar -->
|
||||
<!-- /Right-bar -->
|
||||
|
||||
<!-- Right bar overlay-->
|
||||
<div class="rightbar-overlay"></div>
|
||||
@ -432,6 +432,11 @@
|
||||
<!-- Vendor js -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/vendor.min.js"></script>
|
||||
|
||||
<!-- KNOB JS -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/jquery-knob/jquery.knob.min.js"></script>
|
||||
<!-- Apex js-->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/apexcharts/apexcharts.min.js"></script>
|
||||
|
||||
<!-- third party js -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
|
||||
@ -449,7 +454,10 @@
|
||||
<!-- third party js ends -->
|
||||
|
||||
<!-- Datatables init -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/datatables.init.js"></script>
|
||||
<!-- <script src="<?= base_url()."public"; ?>/assets/js/pages/datatables.init.js"></script> -->
|
||||
|
||||
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/tickets.init.js"></script>
|
||||
|
||||
<!-- Plugins js-->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js"></script>
|
||||
@ -465,13 +473,13 @@
|
||||
<!-- App js -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/app.min.js"></script>
|
||||
|
||||
|
||||
<!-- Sweet Alert CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-multiselect@1.1.0/dist/js/bootstrap-multiselect.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
|
||||
|
||||
<!-- fontAwsome -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/fontawesome.init.js"></script>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/toastr@2.1.4/toastr.min.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/toastr@2.1.4/build/toastr.min.css" rel="stylesheet">
|
||||
</body>
|
||||
</html>
|
||||
File diff suppressed because it is too large
Load Diff
@ -69,6 +69,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group mb-0 text-center">
|
||||
|
||||
<a href="<?= base_url('auth/google'); ?>"><img
|
||||
src="<?= base_url()."public"; ?>/assets/images/googleButton.svg" width="300"></a>
|
||||
</div>
|
||||
|
||||
@ -1,11 +1,4 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark RTL (Corporate Demo)
|
||||
*/
|
||||
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
position: relative;
|
||||
@ -303,8 +296,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3096,12 +3089,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark (Corporate Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark (Corporate Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -553,7 +549,7 @@ body[data-sidebar-icon="twotones"] #sidebar-menu > ul > li > a svg {
|
||||
left: 240px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 70px;
|
||||
height: 60px;
|
||||
transition: all .1s ease-out;
|
||||
z-index: 1001;
|
||||
/* Search */ }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - RTL (Corporate Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - RTL (Corporate Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File (Corporate Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File (Corporate Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark RTL (Creative Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark RTL (Creative Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");
|
||||
@ -283,7 +279,7 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
|
||||
@media (min-width: 768px) {
|
||||
body[data-sidebar-size="condensed"]:not([data-layout="compact"]):not(.auth-fluid-pages) {
|
||||
min-height: 1750px; } }
|
||||
min-height: 0; } }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.pro-user-name {
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark (Creative Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark (Creative Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");
|
||||
@ -283,7 +279,7 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
|
||||
@media (min-width: 768px) {
|
||||
body[data-sidebar-size="condensed"]:not([data-layout="compact"]):not(.auth-fluid-pages) {
|
||||
min-height: 1750px; } }
|
||||
min-height: 0; } }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.pro-user-name {
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - RTL (Creative Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - RTL (Creative Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");
|
||||
@ -283,7 +279,7 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
|
||||
@media (min-width: 768px) {
|
||||
body[data-sidebar-size="condensed"]:not([data-layout="compact"]):not(.auth-fluid-pages) {
|
||||
min-height: 1550px; } }
|
||||
min-height: 0; } }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.pro-user-name {
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,10 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File (Creative Demo)
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File (Creative Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");
|
||||
@ -304,8 +304,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -553,8 +553,8 @@ body[data-sidebar-icon="twotones"] #sidebar-menu > ul > li > a svg {
|
||||
position: fixed;
|
||||
left: 240px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 70px;
|
||||
top: -10;
|
||||
height: 61px;
|
||||
transition: all .1s ease-out;
|
||||
z-index: 1001;
|
||||
/* Search */ }
|
||||
@ -3097,12 +3097,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
2
public/assets/css/app-creative.min.css
vendored
2
public/assets/css/app-creative.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark RTL (Default Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark RTL (Default Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark (Default Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark (Default Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark RTL (Material Design Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark RTL (Material Design Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -22,7 +18,7 @@ body {
|
||||
.content-page {
|
||||
margin-left: 240px;
|
||||
overflow: hidden;
|
||||
padding: 70px 15px 65px 15px;
|
||||
padding: 85px 15px 65px 15px;
|
||||
min-height: 80vh; }
|
||||
|
||||
.left-side-menu {
|
||||
@ -282,7 +278,7 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
|
||||
@media (min-width: 768px) {
|
||||
body[data-sidebar-size="condensed"]:not([data-layout="compact"]):not(.auth-fluid-pages) {
|
||||
min-height: 1750px; } }
|
||||
min-height: 0px; } }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.pro-user-name {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -553,7 +549,7 @@ body[data-sidebar-icon="twotones"] #sidebar-menu > ul > li > a svg {
|
||||
left: 240px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 70px;
|
||||
height: 60px;
|
||||
transition: all .1s ease-out;
|
||||
z-index: 1001;
|
||||
/* Search */ }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark (Material Design Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark (Material Design Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -22,7 +18,7 @@ body {
|
||||
.content-page {
|
||||
margin-left: 240px;
|
||||
overflow: hidden;
|
||||
padding: 70px 15px 65px 15px;
|
||||
padding: 85px 15px 65px 15px;
|
||||
min-height: 80vh; }
|
||||
|
||||
.left-side-menu {
|
||||
@ -282,7 +278,7 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
|
||||
@media (min-width: 768px) {
|
||||
body[data-sidebar-size="condensed"]:not([data-layout="compact"]):not(.auth-fluid-pages) {
|
||||
min-height: 1750px; } }
|
||||
min-height: 0; } }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.pro-user-name {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -553,7 +549,7 @@ body[data-sidebar-icon="twotones"] #sidebar-menu > ul > li > a svg {
|
||||
left: 240px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 70px;
|
||||
height: 60px;
|
||||
transition: all .1s ease-out;
|
||||
z-index: 1001;
|
||||
/* Search */ }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
2
public/assets/css/app-material-dark.min.css
vendored
2
public/assets/css/app-material-dark.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - RTL (Material Design Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - RTL (Material Design Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -282,7 +278,7 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
|
||||
@media (min-width: 768px) {
|
||||
body[data-sidebar-size="condensed"]:not([data-layout="compact"]):not(.auth-fluid-pages) {
|
||||
min-height: 1750px; } }
|
||||
min-height: 0; } }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.pro-user-name {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -553,7 +549,7 @@ body[data-sidebar-icon="twotones"] #sidebar-menu > ul > li > a svg {
|
||||
left: 240px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 70px;
|
||||
height: 60px;
|
||||
transition: all .1s ease-out;
|
||||
z-index: 1001;
|
||||
/* Search */ }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
2
public/assets/css/app-material-rtl.min.css
vendored
2
public/assets/css/app-material-rtl.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File (Material-design Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File (Material-design Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -22,7 +18,7 @@ body {
|
||||
.content-page {
|
||||
margin-left: 240px;
|
||||
overflow: hidden;
|
||||
padding: 70px 15px 65px 15px;
|
||||
padding: 80px 15px 65px 15px;
|
||||
min-height: 80vh; }
|
||||
|
||||
.left-side-menu {
|
||||
@ -37,13 +33,13 @@ body {
|
||||
box-shadow: 0 2px 6px -2px rgba(0, 0, 0, 0.16), 0 2px 6px 0 rgba(0, 0, 0, 0.12);
|
||||
z-index: 1; }
|
||||
|
||||
.logo-box {
|
||||
height: 70px;
|
||||
.logo-box {
|
||||
width: 240px;
|
||||
transition: all .1s ease-out;
|
||||
background-color: #0056c1;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
top: -10px;
|
||||
height: 61px;
|
||||
z-index: 1; }
|
||||
.logo-box .logo {
|
||||
line-height: 70px; }
|
||||
@ -282,7 +278,7 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
|
||||
@media (min-width: 768px) {
|
||||
body[data-sidebar-size="condensed"]:not([data-layout="compact"]):not(.auth-fluid-pages) {
|
||||
min-height: 1750px; } }
|
||||
min-height: 0; } }
|
||||
|
||||
@media (max-width: 767.98px) {
|
||||
.pro-user-name {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -552,8 +548,8 @@ body[data-sidebar-icon="twotones"] #sidebar-menu > ul > li > a svg {
|
||||
position: fixed;
|
||||
left: 240px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
height: 70px;
|
||||
top: -10px;
|
||||
height: 61px;
|
||||
transition: all .1s ease-out;
|
||||
z-index: 1001;
|
||||
/* Search */ }
|
||||
@ -865,7 +861,7 @@ body[data-layout-mode="detached"] .navbar-custom {
|
||||
|
||||
.footer {
|
||||
bottom: 0;
|
||||
padding: 19px 15px 20px;
|
||||
padding: 15px 15px 15px;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
color: #98a6ad;
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
8012
public/assets/css/app-material.min.css
vendored
8012
public/assets/css/app-material.min.css
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark RTL (Modern Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark RTL (Modern Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;700&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark (Modern Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark (Modern Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;700&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - RTL (Modern Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - RTL (Modern Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;700&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File (Modern Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File (Modern Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;700&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - RTL (Default Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - RTL (Default Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark RTL (SAAS Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark RTL (SAAS Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - Dark (SAAS Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - Dark (SAAS Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File - RTL (SAAS Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File - RTL (SAAS Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File (SAAS Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File (SAAS Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&display=swap");
|
||||
@ -304,8 +300,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3097,12 +3093,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1,10 +1,6 @@
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Main Css File (Default Demo)
|
||||
/*
|
||||
|
||||
File: Main Css File (Default Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap");
|
||||
html {
|
||||
@ -303,8 +299,8 @@ body[data-sidebar-size="condensed"] .user-box {
|
||||
.footer {
|
||||
left: 0 !important; } }
|
||||
|
||||
/* =============
|
||||
Small Menu
|
||||
/* =============
|
||||
Small Menu
|
||||
============= */
|
||||
body[data-sidebar-size="compact"]:not([data-sidebar-size="condensed"]) .logo-box {
|
||||
width: 160px !important; }
|
||||
@ -3096,12 +3092,12 @@ body.authentication-bg-pattern {
|
||||
-webkit-transform: scale(1);
|
||||
opacity: 0.0; } }
|
||||
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
/*!
|
||||
* Waves v0.7.6
|
||||
* http://fian.my.id/Waves
|
||||
*
|
||||
* Copyright 2014-2018 Alfiana E. Sibuea and other contributors
|
||||
* Released under the MIT license
|
||||
* https://github.com/fians/Waves/blob/master/LICENSE */
|
||||
.waves-effect {
|
||||
position: relative;
|
||||
|
||||
File diff suppressed because one or more lines are too long
18
public/assets/css/bootstrap-corporate-dark.css
vendored
18
public/assets/css/bootstrap-corporate-dark.css
vendored
@ -1,18 +1,8 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File - Dark (Corporate Demo)
|
||||
*/
|
||||
/*!
|
||||
* Bootstrap v4.5.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
/*
|
||||
|
||||
File: Custom Bootstrap Css File - Dark (Corporate Demo)
|
||||
*/
|
||||
:root {
|
||||
--blue: #5993fd;
|
||||
--indigo: #675aa9;
|
||||
|
||||
File diff suppressed because one or more lines are too long
17
public/assets/css/bootstrap-corporate.css
vendored
17
public/assets/css/bootstrap-corporate.css
vendored
@ -1,19 +1,10 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File (Corporate Demo)
|
||||
/*
|
||||
|
||||
File: Custom Bootstrap Css File (Corporate Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap");
|
||||
/*!
|
||||
* Bootstrap v4.5.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
||||
:root {
|
||||
--blue: #5993fd;
|
||||
--indigo: #675aa9;
|
||||
|
||||
File diff suppressed because one or more lines are too long
17
public/assets/css/bootstrap-creative-dark.css
vendored
17
public/assets/css/bootstrap-creative-dark.css
vendored
@ -1,19 +1,10 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File - Dark (Creative Demo)
|
||||
/*
|
||||
|
||||
File: Custom Bootstrap Css File - Dark (Creative Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");
|
||||
/*!
|
||||
* Bootstrap v4.5.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
||||
:root {
|
||||
--blue: #3b82da;
|
||||
--indigo: #675aa9;
|
||||
|
||||
File diff suppressed because one or more lines are too long
17
public/assets/css/bootstrap-creative.css
vendored
17
public/assets/css/bootstrap-creative.css
vendored
@ -1,19 +1,10 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File (Creative Demo)
|
||||
/*
|
||||
|
||||
File: Custom Bootstrap Css File (Creative Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap");
|
||||
/*!
|
||||
* Bootstrap v4.5.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
|
||||
:root {
|
||||
--blue: #3b82da;
|
||||
--indigo: #675aa9;
|
||||
|
||||
File diff suppressed because one or more lines are too long
17
public/assets/css/bootstrap-dark.css
vendored
17
public/assets/css/bootstrap-dark.css
vendored
@ -1,18 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File - Dark (Default Demo)
|
||||
*/
|
||||
/*!
|
||||
* Bootstrap v4.5.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
/*
|
||||
File: Custom Bootstrap Css File - Dark (Default Demo)
|
||||
*/
|
||||
:root {
|
||||
--blue: #3bafda;
|
||||
--indigo: #675aa9;
|
||||
|
||||
File diff suppressed because one or more lines are too long
17
public/assets/css/bootstrap-material-dark.css
vendored
17
public/assets/css/bootstrap-material-dark.css
vendored
@ -1,18 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File - Dark (Material Design Demo)
|
||||
*/
|
||||
/*!
|
||||
* Bootstrap v4.5.2 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2020 The Bootstrap Authors
|
||||
* Copyright 2011-2020 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
*/
|
||||
/*
|
||||
File: Custom Bootstrap Css File - Dark (Material Design Demo)
|
||||
*/
|
||||
:root {
|
||||
--blue: #0056c1;
|
||||
--indigo: #675aa9;
|
||||
|
||||
File diff suppressed because one or more lines are too long
10
public/assets/css/bootstrap-material.css
vendored
10
public/assets/css/bootstrap-material.css
vendored
@ -1,11 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File (Material Design Demo)
|
||||
/*
|
||||
|
||||
File: Custom Bootstrap Css File (Material Design Demo)
|
||||
*/
|
||||
/*!
|
||||
* Bootstrap v4.5.2 (https://getbootstrap.com/)
|
||||
|
||||
File diff suppressed because one or more lines are too long
10
public/assets/css/bootstrap-modern-dark.css
vendored
10
public/assets/css/bootstrap-modern-dark.css
vendored
@ -1,11 +1,7 @@
|
||||
@charset "UTF-8";
|
||||
/*
|
||||
Template Name: Minton - Responsive Bootstrap 4 Admin Dashboard
|
||||
Author: CoderThemes
|
||||
Version: 5.0.0
|
||||
Website: https://coderthemes.com/
|
||||
Contact: support@coderthemes.com
|
||||
File: Custom Bootstrap Css File - Dark (Modern Demo)
|
||||
/*
|
||||
|
||||
File: Custom Bootstrap Css File - Dark (Modern Demo)
|
||||
*/
|
||||
@import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;700&display=swap");
|
||||
/*!
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user