From 9ab47e832a417b711ffd8b00d974ddbbbd811d9a Mon Sep 17 00:00:00 2001 From: katmastt Date: Tue, 17 Oct 2023 13:50:53 +0000 Subject: [PATCH] added new filter parameter in all_projects view - filter by expiry --- controllers/AdministrationController.php | 12 ++++++------ models/Project.php | 22 ++++++++++++++++++++-- views/administration/all_projects.php | 13 +++++++++++++ web/js/administration/all_projects.js | 4 ++++ 4 files changed, 43 insertions(+), 8 deletions(-) diff --git a/controllers/AdministrationController.php b/controllers/AdministrationController.php index dec6b35..b620bac 100644 --- a/controllers/AdministrationController.php +++ b/controllers/AdministrationController.php @@ -614,9 +614,9 @@ public function actionAllProjects() $deleted=Project::getAllDeletedProjects(); - $filters=['user'=>Yii::$app->request->post('username',''), 'type'=>Yii::$app->request->post('project_type','-1')]; - $all_projects=Project::getAllActiveProjectsAdm($filters['user'],$filters['type']); - $expired_owner=Project::getAllExpiredProjects($filters['user'],$filters['type']); + $filters=['exp'=>Yii::$app->request->post('expiry_date_t','-1'),'user'=>Yii::$app->request->post('username',''), 'type'=>Yii::$app->request->post('project_type','-1')]; + $all_projects=Project::getAllActiveProjectsAdm($filters['user'],$filters['type'],$filters['exp']); + $expired_owner=Project::getAllExpiredProjects($filters['user'],$filters['type'],$filters['exp']); $resources=Project::getActiveResources(); $role=User::getRoleType(); $username=Userw::getCurrentUser()['username']; @@ -669,12 +669,12 @@ public function actionAllProjects() $number_of_active=count($all_projects); $number_of_expired=count($expired); - $types_dropdown=['-1'=>'','0'=>'On-demand batch computations', '1'=>'24/7 Services', '2'=>'Storage volumes', '3'=>'On-demand computation machines']; - + $types_dropdown=['-1'=>'','0'=>'On-demand batch computations', '1'=>'24/7 Services', '2'=>'Storage volumes', '3'=>'On-demand computation machines', '4'=>'On demand notebooks']; + $expiry_date = ['-1'=>'','0'=>'Ascending', '1'=>'Descending']; return $this->render('all_projects',['button_links'=>$button_links, 'project_types'=>$project_types,'role'=>$role, 'types_dropdown'=>$types_dropdown, 'filters'=>$filters, 'deleted'=>$deleted,'expired'=>$expired, 'active'=>$active, 'number_of_active'=>$number_of_active, - 'number_of_expired'=>$number_of_expired, 'schema_url'=>$schema_url, 'active_resources'=>$resources]); + 'number_of_expired'=>$number_of_expired, 'schema_url'=>$schema_url, 'active_resources'=>$resources, 'expiry_date'=>$expiry_date]); } public function actionManageAnalytics() diff --git a/models/Project.php b/models/Project.php index 9d4000f..2aa346c 100644 --- a/models/Project.php +++ b/models/Project.php @@ -454,7 +454,7 @@ public static function getAllDeletedProjects() } - public static function getAllExpiredProjects($user='',$type='-1') + public static function getAllExpiredProjects($user='',$type='-1',$exp='-1') { $query=new Query; @@ -477,6 +477,15 @@ public static function getAllExpiredProjects($user='',$type='-1') { $query->andWhere("p.project_type=$type"); } + if (intval($exp)==1){ + + $query->orderBy('pr.end_date DESC'); + + } + if (intval($exp)==0){ + + $query->orderBy('pr.end_date ASC'); + } $results=$query->all(); @@ -542,7 +551,7 @@ public static function getActiveResources() return [$active_jupyter, $active_vms, $active_machines, $active_volumes]; } - public static function getAllActiveProjectsAdm($user='',$type='-1') + public static function getAllActiveProjectsAdm($user='',$type='-1', $exp='-1') { $query=new Query; $date=date("Y-m-d"); @@ -566,6 +575,15 @@ public static function getAllActiveProjectsAdm($user='',$type='-1') { $query->andWhere("p.project_type=$type"); } + if (intval($exp)==1){ + + $query->orderBy('pr.end_date DESC'); + + } + if (intval($exp)==0){ + + $query->orderBy('pr.end_date ASC'); + } $results=$query->all(); return $results; diff --git a/views/administration/all_projects.php b/views/administration/all_projects.php index 828bbdd..92d2b9f 100644 --- a/views/administration/all_projects.php +++ b/views/administration/all_projects.php @@ -390,6 +390,19 @@
 
+
+
+ +
+
+
+
+ 'expiry_date','id'=>'expiry_date'])?> +
+
+ +
 
+ diff --git a/web/js/administration/all_projects.js b/web/js/administration/all_projects.js index 052d16c..654bf0e 100644 --- a/web/js/administration/all_projects.js +++ b/web/js/administration/all_projects.js @@ -19,6 +19,10 @@ $(document).ready(function(){ $('#filters-form').submit(); }); + $("#expiry_date").change(function(){ + $('#filters-form').submit(); + }); + $(".reactivate_btn").click(function(){ var modal_id='#' + $(this).data()['modalId'];