diff --git a/app/Helpers/custom.php b/app/Helpers/custom.php
index d35c96c..f309e0a 100644
--- a/app/Helpers/custom.php
+++ b/app/Helpers/custom.php
@@ -3,6 +3,68 @@
use App\Models\Master\MasterMenu;
use App\Models\Master\MasterAccessMenu;
+if (!function_exists('taskLabel')) {
+ /**
+ * @param $val
+ *
+ * @return string
+ */
+ function taskLabel($val)
+ {
+ if ($val == 'store') {
+ $task = 'save';
+ } elseif ($val == 'save_permission') {
+ $task = 'save group access';
+ } elseif ($val == 'destroy') {
+ $task = 'delete';
+ } elseif ($val == 'batch') {
+ $task = 'delete';
+ } else {
+ $task = $val;
+ }
+
+ return $task;
+ }
+}
+
+
+if (!function_exists('logActivity')) {
+ /**
+ * @param $request
+ * @param $note
+ */
+ function logActivity($request, $note)
+ {
+ $repository = app(\App\Models\Log::class);
+ $data = [
+ 'module' => $request->route()->getAction('prefix'),
+ 'task' => taskLabel($request->route()->getActionMethod()),
+ 'user_id' => session('uid'),
+ 'ipaddress' => $request->getClientIp(),
+ 'useragent' => $request->header('User-Agent'),
+ 'note' => $note,
+ 'created_at' => \Carbon\Carbon::now()
+ ];
+
+ if (session('superuser') == false)
+ $repository->create($data);
+ }
+}
+
+
+if (!function_exists('trimId')) {
+ /**
+ * @param $val
+ * @return array
+ */
+ function trimId($val)
+ {
+ $string = explode('+', $val);
+ return $string;
+ }
+}
+
+
if (!function_exists('dateTime')) {
/**
* make secure id
@@ -112,7 +174,7 @@ if (!function_exists('renderMenu')) {
function renderMenu()
{
- $parent = MasterMenu::where('status',true)->where('menu_type','sidebar')->where('parent_id',0)->get();
+ $parent = MasterMenu::where('status',true)->where('menu_type','sidebar')->where('parent_id',0)->orderBy('ordering','ASC')->get();
$html = '';
foreach ($parent as $p1) {
// echo $p1->MsMenuId.'
';
diff --git a/app/Http/Controllers/Auth/CustomLoginController.php b/app/Http/Controllers/Auth/CustomLoginController.php
index de56c7f..3e0cec6 100644
--- a/app/Http/Controllers/Auth/CustomLoginController.php
+++ b/app/Http/Controllers/Auth/CustomLoginController.php
@@ -30,6 +30,7 @@ class CustomLoginController extends Controller
$user = User::where('username', $credentials['email'])->first();
if ($user && Hash::check($credentials['password'], $user->password)) {
+ // dd($user->group);
Auth::attempt(['username' => $request->email, 'password' => $request->password]);
$session = [
@@ -37,13 +38,15 @@ class CustomLoginController extends Controller
'name' => $user->name,
'email' => $user->email,
'npsn' => @$user->sekolah->npsn,
- 'ms_tingkat_sekolah_id' => @$user->sekolah->ms_tingkat_sekolah_id,
+ 'tingkat_sekolah' => @$user->sekolah->tingkat->name,
'status_sekolah' => @$user->sekolah->status_sekolah,
'alamat_sekolah' => @$user->sekolah->alamat_sekolah,
'kontak_person' => @$user->sekolah->kontak_person,
'telp' => @$user->sekolah->telp,
'currYear' => date('Y'),
'group_id' => @$user->ms_group_id,
+ 'group_alias' => @$user->group->alias,
+ 'group_name' => @$user->group->name,
];
session($session);
@@ -69,13 +72,15 @@ class CustomLoginController extends Controller
'name' => $user->name,
'email' => $user->email,
'npsn' => @$user->sekolah->npsn,
- 'ms_tingkat_sekolah_id' => @$user->sekolah->ms_tingkat_sekolah_id,
+ 'tingkat_sekolah' => @$user->sekolah->tingkat->name,
'status_sekolah' => @$user->sekolah->status_sekolah,
'alamat_sekolah' => @$user->sekolah->alamat_sekolah,
'kontak_person' => @$user->sekolah->kontak_person,
'telp' => @$user->sekolah->telp,
'currYear' => date('Y'),
'group_id' => @$user->ms_group_id,
+ 'group_alias' => @$user->group->alias,
+ 'group_name' => @$user->group->name,
];
session($session);
diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php
index bb63742..6f058af 100644
--- a/app/Http/Controllers/HomeController.php
+++ b/app/Http/Controllers/HomeController.php
@@ -6,6 +6,8 @@ use Illuminate\Http\Request;
class HomeController extends Controller
{
+ protected $template = 'modules.dashboard';
+
/**
* Create a new controller instance.
*
@@ -29,6 +31,11 @@ class HomeController extends Controller
public function dashboard()
{
$data['title'] = 'Dashboard';
- return view('home',$data);
+ $data['group'] = session('group_alias');
+ if(session('group_alias') == 'sekolah'){
+ return view($this->template.'.sekolah', $data);
+ }else{
+ return view($this->template.'.admin', $data);
+ }
}
}
diff --git a/app/Http/Controllers/Management/AksesController.php b/app/Http/Controllers/Management/AksesController.php
new file mode 100644
index 0000000..0fb3891
--- /dev/null
+++ b/app/Http/Controllers/Management/AksesController.php
@@ -0,0 +1,341 @@
+route.'.'.$prefix;
+ }
+
+ /**
+ * Store a newly created resource in storage.
+ */
+ public function store(Request $request)
+ {
+ permission('is_update', $this->getRoute(), false, 'module');
+ $id = decode_id($request->group_id);
+ // dd($id);
+ $_read = [];
+ if ($request->has('is_read')) {
+ foreach ($request->input('is_read') as $val) {
+ $_read[] = ['ms_menu_id' => $val];
+ }
+ }
+
+ $_create = [];
+ if ($request->has('is_create')) {
+ foreach ($request->input('is_create') as $val) {
+ $_create[] = ['ms_menu_id' => $val];
+ }
+ }
+
+ $_update = [];
+ if ($request->has('is_update')) {
+ foreach ($request->input('is_update') as $val) {
+ $_update[] = ['ms_menu_id' => $val];
+ }
+ }
+
+ $_delete = [];
+ if ($request->has('is_delete')) {
+ foreach ($request->input('is_delete') as $val) {
+ $_delete[] = ['ms_menu_id' => $val];
+ }
+ }
+
+ $_download = [];
+ if ($request->has('is_download')) {
+ foreach ($request->input('is_download') as $val) {
+ $_download[] = ['ms_menu_id' => $val];
+ }
+ }
+
+ $merged = array_merge($_read, $_create, $_update, $_delete, $_download);
+ $result = [];
+ foreach ($merged as $key => $data) {
+ $access = trimId($data['ms_menu_id']);
+ $module = MasterMenu::find($access[1]);
+ if (isset($result[$access[1]])) {
+ $result[$access[1]][$access[0]] = 1;
+ } else {
+ $result[$access[1]] = ['ms_menu_id' => intval($access[1]), $access[0] => 1, 'ms_group_id' => intval($id), 'module' => $module->module, 'menu_group' => $request->input('menu_group')];
+ }
+ }
+
+ /**
+ * Merge all privileges into json
+ */
+ $group = MasterGroup::find(intval($id));
+ if ($merged) {
+ $current = MasterAccessMenu::where('menu_group',$request->input('menu_group'))->where('ms_group_id',intval($id))->get();
+ $insert = null;
+ if ($current->count() > 0) {
+ $deletedRows = MasterAccessMenu::where('menu_group',$request->input('menu_group'))->where('ms_group_id',intval($id))->delete();
+ if ($deletedRows) {
+ foreach ($result as $val) {
+ $insert = MasterAccessMenu::create($val);
+ }
+ }
+ } else {
+ foreach ($result as $val) {
+ $insert = MasterAccessMenu::create($val);
+ }
+ }
+
+ if ($insert) {
+ logActivity($request, __('Edit',['val' => strtolower(__('module.group.access.title',['val' => $group->name]))]));
+ return redirect('management/role/')->with('message', __('Berhasil Update Data'))
+ ->with('type', 'success');
+ } else {
+ throw new GeneralException(__('Maaf Terjadi Kesalahan'));
+ }
+ } else {
+ $current = MasterAccessMenu::where('menu_group',$request->input('menu_group'))->where('ms_group_id', intval($id))->count();
+ if ($current > 0) {
+ MasterAccessMenu::where('menu_group', $request->input('menu_group'))->where('ms_group_id', intval($id))->delete();
+ logActivity($request, __('Delete',['val' => strtolower(__('Title',['val' => $group->name]))]));
+ return redirect('management/role/')->with('message', __('Berhasil Update Data'))
+ ->with('type', 'success');
+ } else {
+ throw new GeneralException(__('Maaf Terjadi Kesalahan'));
+ }
+ }
+ }
+
+ /**
+ * Display the specified resource.
+ */
+ public function show(string $id)
+ {
+ //
+ }
+
+ /**
+ * Show the form for editing the specified resource.
+ */
+ public function edit($id)
+ {
+ $data['key'] = decode_id($id);
+ $data['id'] = decode_id($id);
+ $data['group'] = MasterGroup::where('MsGroupId',decode_id($id))->first();
+
+ $data['breadcrumbs'] = [
+ ['name' => 'Dashboard','url' => url('dashboard')],
+ ['name' => 'Management & Akses Role'],
+ ['name' => 'Data Role','url' => url('management/role/')],
+ ['name' => 'Role '.$data['group']->name,'active' => true],
+ ];
+
+ $data['type'] = 'sidebar';
+ // $data['groupMenus'] = MasterMenu::where('status',true)->get();
+ $data['menu'] = $this->getMenu($data['key'], $data['type']);
+ $data['title'] = $this->title.' '.$data['group']->name;
+ $data['route'] = $this->route;
+ return view($this->template.'.form',$data);
+ }
+
+ public function getMenuByParentPosition($id, $type, $active = [1])
+ {
+ return MasterMenu::where('parent_id', '=', $id)
+ ->where('menu_type', '=', $type)
+ ->whereIn('status', $active)
+ ->orderBy('ordering')
+ ->get();
+ }
+
+ public function getParentByType($type)
+ {
+ return MasterMenu::where('parent_id', '=', 0)
+ ->where('menu_type', '=', $type)
+ ->orderBy('ordering')
+ ->get();
+ }
+
+ public function getMenuByParent($id, $active = [1])
+ {
+ return MasterMenu::where('parent_id', '=', $id)
+ ->whereIn('status', $active)
+ ->orderBy('ordering')
+ ->get();
+ }
+
+ /**
+ * @param $id
+ * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Model|null|object
+ */
+ public function getActiveById($id)
+ {
+ return MasterMenu::where('ms_menu_id', '=' , $id)
+ ->where('status', '=' , true)
+ ->first();
+ }
+
+ /**
+ * Get all active menu by menu position
+ *
+ * @param $type
+ * @return mixed
+ */
+ public function getActiveByPosition($type)
+ {
+ return MasterMenu::where('menu_type', '=' , $type)
+ ->where('status', '=' , true)
+ ->orderBy('ordering')
+ ->get();
+ }
+
+ /**
+ * @param $type
+ * @return \Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model[]
+ */
+ public function getParentByTypeStatus($type)
+ {
+ return MasterMenu::where('parent_id', '=', 0)
+ ->where('menu_type', '=', $type)
+ ->where('status','=',true)
+ ->orderBy('ordering')
+ ->get();
+ }
+
+ public function getMenu($id, $type)
+ {
+ $parent = $this->getMenuByParentPosition(0,$type);
+ $_parent = [];
+ foreach ($parent as $row) {
+ $lev1 = $this->getMenuByParent($row->MsMenuId);
+ $_lev1 = [];
+ foreach ($lev1 as $l1) {
+ $lev2 = $this->getMenuByParent($l1->MsMenuId);
+ $_lev2 = [];
+ foreach ($lev2 as $l2) {
+ $lev3 = $this->getMenuByParent($l2->MsMenuId);
+ $_lev3 = [];
+ foreach ($lev3 as $l3) {
+ $lev4 = $this->getMenuByParent($l3->MsMenuId);
+ $_lev4 = [];
+ foreach ($lev4 as $l4) {
+ $lev4Access = MasterAccessMenu::where('ms_group_id', '=', $id)->where('ms_menu_id', '=', $l4->MsMenuId)->first();
+ $_lev4[] = [
+ 'id' => $l4->MsMenuId,
+ 'title' => $l4->title,
+ 'ordering' => $l4->ordering,
+ 'checked' => [
+ "is_create" => $lev4Access ? $lev4Access->is_create : 0,
+ "is_read" => $lev4Access ? $lev4Access->is_read : 0,
+ "is_update" => $lev4Access ? $lev4Access->is_update : 0,
+ "is_delete" => $lev4Access ? $lev4Access->is_delete : 0,
+ "is_download" => $lev4Access ? $lev4Access->is_download : 0,
+ ]
+ ];
+ }
+ $lev3Access = MasterAccessMenu::where('ms_group_id', '=', $id)->where('ms_menu_id', '=', $l3->MsMenuId)->first();
+ $_lev3[] = [
+ 'id' => $l3->MsMenuId,
+ 'title' => $l3->title . (!!$l3->meta_title?" ##Meta: ". $l3->meta_title:""),
+ 'ordering' => $l3->ordering,
+ 'level4' => $_lev4,
+ 'checked' => [
+ "is_create" => $lev3Access ? $lev3Access->is_create : 0,
+ "is_read" => $lev3Access ? $lev3Access->is_read : 0,
+ "is_update" => $lev3Access ? $lev3Access->is_update : 0,
+ "is_delete" => $lev3Access ? $lev3Access->is_delete : 0,
+ "is_download" => $lev3Access ? $lev3Access->is_download : 0,
+ ]
+ ];
+ }
+ $lev2Access = MasterAccessMenu::where('ms_group_id', '=', $id)->where('ms_menu_id', '=', $l2->MsMenuId)->first();
+ $_lev2[] = [
+ 'id' => $l2->MsMenuId,
+ 'title' => $l2->title . " (".(!!$l2->meta_title?$l2->meta_title."@":""). "url:" . $l2->url.")",
+ 'ordering' => $l2->ordering,
+ 'level3' => $_lev3,
+ 'checked' => [
+ "is_create" => $lev2Access ? $lev2Access->is_create : 0,
+ "is_read" => $lev2Access ? $lev2Access->is_read : 0,
+ "is_update" => $lev2Access ? $lev2Access->is_update : 0,
+ "is_delete" => $lev2Access ? $lev2Access->is_delete : 0,
+ "is_download" => $lev2Access ? $lev2Access->is_download : 0,
+ ]
+ ];
+ }
+
+ $lev1Access = MasterAccessMenu::where('ms_group_id', '=', $id)->where('ms_menu_id', '=', $l1->MsMenuId)->first();
+ $_lev1[] = [
+ 'id' => $l1->MsMenuId,
+ 'title' => $l1->title,
+ 'ordering' => $l1->ordering,
+ 'level2' => $_lev2,
+ 'checked' => [
+ "is_create" => $lev1Access ? $lev1Access->is_create : 0,
+ "is_read" => $lev1Access ? $lev1Access->is_read : 0,
+ "is_update" => $lev1Access ? $lev1Access->is_update : 0,
+ "is_delete" => $lev1Access ? $lev1Access->is_delete : 0,
+ "is_download" => $lev1Access ? $lev1Access->is_download : 0,
+ ]
+ ];
+ }
+
+ $parentAccess = MasterAccessMenu::where('ms_group_id', '=', $id)->where('ms_menu_id', '=', $row->MsMenuId)->first();
+ $_parent[] = [
+ 'id' => $row->MsMenuId,
+ 'title' => $row->title,
+ 'ordering' => $row->ordering,
+ 'level1' => $_lev1,
+ 'checked' => [
+ "is_create" => $parentAccess ? $parentAccess->is_create : 0,
+ "is_read" => $parentAccess ? $parentAccess->is_read : 0,
+ "is_update" => $parentAccess ? $parentAccess->is_update : 0,
+ "is_delete" => $parentAccess ? $parentAccess->is_delete : 0,
+ "is_download" => $parentAccess ? $parentAccess->is_download : 0,
+ ]
+ ];
+
+ }
+
+ return $_parent;
+ }
+
+ /**
+ * Update the specified resource in storage.
+ */
+ public function update(Request $request, string $id)
+ {
+ //
+ }
+
+ /**
+ * Remove the specified resource from storage.
+ */
+ public function destroy(string $id)
+ {
+ //
+ }
+}
diff --git a/app/Http/Controllers/Management/RoleController.php b/app/Http/Controllers/Management/RoleController.php
index 9fd17a6..7c1df56 100644
--- a/app/Http/Controllers/Management/RoleController.php
+++ b/app/Http/Controllers/Management/RoleController.php
@@ -40,8 +40,8 @@ class RoleController extends Controller
$action = '';
if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){
- $action .= '';
- $action .= '';
+ $action .= '';
+ $action .= '';
// $action .= '';
}
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
new file mode 100644
index 0000000..2247c5e
--- /dev/null
+++ b/app/Http/Controllers/ProfileController.php
@@ -0,0 +1,20 @@
+template.'.sekolah', $data);
+ }else{
+ return view($this->template.'.admin', $data);
+ }
+ }
+}
diff --git a/app/Models/Log.php b/app/Models/Log.php
new file mode 100644
index 0000000..954f2bd
--- /dev/null
+++ b/app/Models/Log.php
@@ -0,0 +1,24 @@
+belongsTo('App\Models\User','id','user_id');
+ }
+}
diff --git a/app/Models/ProfileSekolah.php b/app/Models/ProfileSekolah.php
index 2706a7e..d548a4c 100644
--- a/app/Models/ProfileSekolah.php
+++ b/app/Models/ProfileSekolah.php
@@ -20,4 +20,9 @@ class ProfileSekolah extends Model
'kontak_person',
'telp',
];
+
+ public function tingkat()
+ {
+ return $this->belongsTo(\App\Models\Master\MasterTingkatSekolah::class,'ms_tingkat_sekolah_id','MsTingkatSekolahId');
+ }
}
diff --git a/app/Models/User.php b/app/Models/User.php
index e3ef034..b0d0c71 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -49,4 +49,9 @@ class User extends Authenticatable
{
return $this->belongsTo(ProfileSekolah::class,'id','user_id');
}
+
+ public function group()
+ {
+ return $this->belongsTo(\App\Models\Master\MasterGroup::class,'ms_group_id','MsGroupId');
+ }
}
diff --git a/database/migrations/2025_02_20_093001_create_logs_table.php b/database/migrations/2025_02_20_093001_create_logs_table.php
new file mode 100644
index 0000000..9dfb3bb
--- /dev/null
+++ b/database/migrations/2025_02_20_093001_create_logs_table.php
@@ -0,0 +1,35 @@
+bigIncrements('MsLogId');
+ $table->string('module',200)->nullable();
+ $table->string('task',100)->nullable();
+ $table->unsignedBigInteger('user_id')->index()->nullable();
+ $table->ipAddress('ipaddress')->nullable();
+ $table->mediumText('useragent')->nullable();
+ $table->mediumText('note')->nullable();
+ $table->timestamps();
+
+ $table->foreign('user_id')->references('id')->on('users')->cascadeOnDelete();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('logs');
+ }
+};
diff --git a/public/assets/css/app.bundle.css b/public/assets/css/app.bundle.css
index 0058cb3..cea3476 100644
--- a/public/assets/css/app.bundle.css
+++ b/public/assets/css/app.bundle.css
@@ -633,7 +633,7 @@ RESULT:
--theme-success-400: #21dfcb;
--theme-success-500: #3A7D44;
--theme-success-600: #1ab3a3;
- --theme-success-700: #179c8e;
+ --theme-success-700: #3A7D44;
--theme-success-800: #13867a;
--theme-success-900: #107066;
--theme-info-50: #9acffa;
@@ -2989,8 +2989,8 @@ html body {
box-shadow: 0 2px 6px 0 rgba(134, 142, 150, 0.5); }
.btn-success {
- -webkit-box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5);
- box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
-webkit-box-shadow: 0 2px 6px 0 rgba(33, 150, 243, 0.5);
@@ -7198,7 +7198,7 @@ html:not(.root-text-sm):not(.root-text-lg):not(.root-text-xl) [data-class="root-
color: white; }
.bg-success-700 {
- background-color: #179c8e;
+ background-color: #3A7D44;
color: white; }
.bg-success-700:hover {
color: white; }
@@ -7237,7 +7237,7 @@ html:not(.root-text-sm):not(.root-text-lg):not(.root-text-xl) [data-class="root-
color: #1ab3a3; }
.color-success-700 {
- color: #179c8e; }
+ color: #3A7D44; }
.color-success-800 {
color: #13867a; }
diff --git a/public/assets/css/themes/cust-theme-2.css b/public/assets/css/themes/cust-theme-2.css
index 9ea5374..c957609 100644
--- a/public/assets/css/themes/cust-theme-2.css
+++ b/public/assets/css/themes/cust-theme-2.css
@@ -766,8 +766,8 @@ html body {
box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5); }
.btn-success {
- -webkit-box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5);
- box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
-webkit-box-shadow: 0 2px 6px 0 rgba(33, 150, 243, 0.5);
@@ -1302,7 +1302,7 @@ code {
color: white; }
.bg-success-700 {
- background-color: #179c8e;
+ background-color: #3A7D44;
color: white; }
.bg-success-700:hover {
color: white; }
@@ -1341,7 +1341,7 @@ code {
color: #1ab3a3; }
.color-success-700 {
- color: #179c8e; }
+ color: #3A7D44; }
.color-success-800 {
color: #13867a; }
@@ -1795,11 +1795,11 @@ code {
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
.btn-success:hover {
color: #fff;
- background-color: #18a899;
- border-color: #179c8e; }
+ background-color: #3A7D44;
+ border-color: #3A7D44; }
.btn-success:focus, .btn-success.focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-success.disabled, .btn-success:disabled {
color: #fff;
background-color: #3A7D44;
@@ -1807,12 +1807,12 @@ code {
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
color: #fff;
- background-color: #179c8e;
+ background-color: #3A7D44;
border-color: #159184; }
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
color: #fff;
diff --git a/public/assets/css/themes/cust-theme-3.css b/public/assets/css/themes/cust-theme-3.css
index 251c5f1..a35f57e 100644
--- a/public/assets/css/themes/cust-theme-3.css
+++ b/public/assets/css/themes/cust-theme-3.css
@@ -766,8 +766,8 @@ html body {
box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5); }
.btn-success {
- -webkit-box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5);
- box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
-webkit-box-shadow: 0 2px 6px 0 rgba(33, 150, 243, 0.5);
@@ -1302,7 +1302,7 @@ code {
color: white; }
.bg-success-700 {
- background-color: #179c8e;
+ background-color: #3A7D44;
color: white; }
.bg-success-700:hover {
color: white; }
@@ -1341,7 +1341,7 @@ code {
color: #1ab3a3; }
.color-success-700 {
- color: #179c8e; }
+ color: #3A7D44; }
.color-success-800 {
color: #13867a; }
@@ -1795,11 +1795,11 @@ code {
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
.btn-success:hover {
color: #fff;
- background-color: #18a899;
- border-color: #179c8e; }
+ background-color: #3A7D44;
+ border-color: #3A7D44; }
.btn-success:focus, .btn-success.focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-success.disabled, .btn-success:disabled {
color: #fff;
background-color: #3A7D44;
@@ -1807,12 +1807,12 @@ code {
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
color: #fff;
- background-color: #179c8e;
+ background-color: #3A7D44;
border-color: #159184; }
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
color: #fff;
diff --git a/public/assets/css/themes/cust-theme-6.css b/public/assets/css/themes/cust-theme-6.css
index 4a2d952..34ea594 100644
--- a/public/assets/css/themes/cust-theme-6.css
+++ b/public/assets/css/themes/cust-theme-6.css
@@ -766,8 +766,8 @@ html body {
box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5); }
.btn-success {
- -webkit-box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5);
- box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
-webkit-box-shadow: 0 2px 6px 0 rgba(33, 150, 243, 0.5);
@@ -1302,7 +1302,7 @@ code {
color: white; }
.bg-success-700 {
- background-color: #179c8e;
+ background-color: #3A7D44;
color: white; }
.bg-success-700:hover {
color: white; }
@@ -1341,7 +1341,7 @@ code {
color: #1ab3a3; }
.color-success-700 {
- color: #179c8e; }
+ color: #3A7D44; }
.color-success-800 {
color: #13867a; }
@@ -1795,11 +1795,11 @@ code {
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
.btn-success:hover {
color: #fff;
- background-color: #18a899;
- border-color: #179c8e; }
+ background-color: #3A7D44;
+ border-color: #3A7D44; }
.btn-success:focus, .btn-success.focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-success.disabled, .btn-success:disabled {
color: #fff;
background-color: #3A7D44;
@@ -1807,12 +1807,12 @@ code {
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
color: #fff;
- background-color: #179c8e;
+ background-color: #3A7D44;
border-color: #159184; }
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
color: #fff;
diff --git a/public/assets/css/themes/cust-theme-7.css b/public/assets/css/themes/cust-theme-7.css
index f5b8e28..8b06aa1 100644
--- a/public/assets/css/themes/cust-theme-7.css
+++ b/public/assets/css/themes/cust-theme-7.css
@@ -766,8 +766,8 @@ html body {
box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5); }
.btn-success {
- -webkit-box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5);
- box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
-webkit-box-shadow: 0 2px 6px 0 rgba(33, 150, 243, 0.5);
@@ -1302,7 +1302,7 @@ code {
color: white; }
.bg-success-700 {
- background-color: #179c8e;
+ background-color: #3A7D44;
color: white; }
.bg-success-700:hover {
color: white; }
@@ -1341,7 +1341,7 @@ code {
color: #1ab3a3; }
.color-success-700 {
- color: #179c8e; }
+ color: #3A7D44; }
.color-success-800 {
color: #13867a; }
@@ -1795,11 +1795,11 @@ code {
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); }
.btn-success:hover {
color: #fff;
- background-color: #18a899;
- border-color: #179c8e; }
+ background-color: #3A7D44;
+ border-color: #3A7D44; }
.btn-success:focus, .btn-success.focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-success.disabled, .btn-success:disabled {
color: #fff;
background-color: #3A7D44;
@@ -1807,12 +1807,12 @@ code {
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
color: #fff;
- background-color: #179c8e;
+ background-color: #3A7D44;
border-color: #159184; }
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
color: #fff;
diff --git a/public/assets/css/vendors.bundle.css b/public/assets/css/vendors.bundle.css
index ac4fdf8..f9ef434 100644
--- a/public/assets/css/vendors.bundle.css
+++ b/public/assets/css/vendors.bundle.css
@@ -2316,11 +2316,11 @@ fieldset:disabled a.btn {
border-color: #3A7D44; }
.btn-success:hover {
color: #fff;
- background-color: #18a899;
- border-color: #179c8e; }
+ background-color: #3A7D44;
+ border-color: #3A7D44; }
.btn-success:focus, .btn-success.focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-success.disabled, .btn-success:disabled {
color: #fff;
background-color: #3A7D44;
@@ -2328,12 +2328,12 @@ fieldset:disabled a.btn {
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
color: #fff;
- background-color: #179c8e;
+ background-color: #3A7D44;
border-color: #159184; }
.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
- -webkit-box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5);
- box-shadow: 0 0 0 0.2rem rgba(63, 209, 194, 0.5); }
+ -webkit-box-shadow: #3A7D44;
+ box-shadow: #3A7D44; }
.btn-info {
color: #fff;
@@ -4279,7 +4279,7 @@ input[type="button"].btn-block {
background-color: #3A7D44; }
a.badge-success:hover, a.badge-success:focus {
color: #fff;
- background-color: #179c8e; }
+ background-color: #3A7D44; }
a.badge-success:focus, a.badge-success.focus {
outline: 0;
-webkit-box-shadow: 0 0 0 0.2rem rgba(29, 201, 183, 0.5);
@@ -5465,7 +5465,7 @@ button.bg-secondary:focus {
a.bg-success:hover, a.bg-success:focus,
button.bg-success:hover,
button.bg-success:focus {
- background-color: #179c8e !important; }
+ background-color: #3A7D44 !important; }
.bg-info {
background-color: #2196F3 !important; }
diff --git a/public/assets/js/app.bundle.js b/public/assets/js/app.bundle.js
index 96e8613..7d9a749 100644
--- a/public/assets/js/app.bundle.js
+++ b/public/assets/js/app.bundle.js
@@ -16,7 +16,7 @@ var myapp_get_color = {
success_400: '#21dfcb',
success_500: '#3A7D44',
success_600: '#1ab3a3',
- success_700: '#179c8e',
+ success_700: '#3A7D44',
success_800: '#13867a',
success_900: '#107066',
info_50: '#9acffa',
diff --git a/public/assets/src/content/statistics/statistics_peity/statistics_peity.hbs b/public/assets/src/content/statistics/statistics_peity/statistics_peity.hbs
index 2ecdf86..7efe053 100644
--- a/public/assets/src/content/statistics/statistics_peity/statistics_peity.hbs
+++ b/public/assets/src/content/statistics/statistics_peity/statistics_peity.hbs
@@ -114,7 +114,7 @@