Parcourir la source

Ticket #5425 - Tasks: Functionality improvements. Stage 2.

AntonLV il y a 4 mois
Parent
commit
0e5a7ee7c0

+ 3 - 0
modules/boonex/russian/data/langs/bx_tasks/ru.xml

@@ -444,9 +444,12 @@
     <string name="_bx_tasks_grid_filter_item_title_tm_select_one_context_module"><![CDATA[Любой модуль]]></string>
     <string name="_bx_tasks_grid_filter_item_title_tm_select_one_object_id"><![CDATA[Любая задача]]></string>
 
+    <string name="_bx_tasks_grid_column_title_pv_active"><![CDATA[Активные]]></string>
     <string name="_bx_tasks_grid_column_title_pv_title"><![CDATA[Заголовок]]></string>
     <string name="_bx_tasks_grid_action_title_pv_add"><![CDATA[Добавить]]></string>
     <string name="_bx_tasks_grid_action_title_pv_edit"><![CDATA[Редактировать]]></string>
+    <string name="_bx_tasks_grid_action_title_pv_activate"><![CDATA[Активировать]]></string>
+    <string name="_bx_tasks_grid_action_title_pv_deactivate"><![CDATA[Деактивировать]]></string>
     <string name="_bx_tasks_grid_action_title_pv_delete"><![CDATA[Удалить]]></string>
     <string name="_bx_tasks_grid_action_confirm_pv_delete"><![CDATA[Это действие удалит элемент из всех задач во всех контекстах, и его нельзя будет отменить. Вы хотите продолжить?]]></string>
     <string name="_bx_tasks_grid_filter_item_title_pv_select_one_list"><![CDATA[Выберите список...]]></string>

+ 7 - 0
modules/boonex/tasks/classes/BxTasksDb.php

@@ -551,6 +551,13 @@ class BxTasksDb extends BxBaseModTextDb
                     ];
 
                     $sWhereClause = "AND `tpv`.`context_id` = :context_id AND `tpv`.`list` = :list";
+                    
+                    if(($iActive = $aParams['active'] ?? false) !== false) {
+                        $aMethod['params'][2]['active'] = (int)$iActive;
+
+                        $sWhereClause .= " AND `tpv`.`active` = :active";
+                    }
+
                     $sOrderClause = "`tpv`.`order` ASC";
                     break;
             }

+ 2 - 1
modules/boonex/tasks/classes/BxTasksFormEntry.php

@@ -61,7 +61,8 @@ class BxTasksFormEntry extends BxBaseModTextFormEntry
             $aItems = $this->_oModule->_oDb->getPreValues([
                 'sample' => 'context_list', 
                 'context_id' => $this->_iContextId, 
-                'list' => 'type'
+                'list' => 'type',
+                'active' => 1
             ]);
 
             if($aItems && is_array($aItems)) {

+ 10 - 0
modules/boonex/tasks/classes/BxTasksGridPreValues.php

@@ -106,6 +106,16 @@ class BxTasksGridPreValues extends BxBaseModGeneralGrid
         echoJson(['popup' => ['html' => $sContent, 'options' => ['closeOnOuterClick' => false]]]);
     }
 
+    public function performActionActivate()
+    {
+    	parent::performActionEnable(1);
+    }
+
+    public function performActionDeactivate()
+    {
+        parent::performActionEnable(0);
+    }
+
     protected function _getActionAdd($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = [])
     {
         if(!$this->_sList)

+ 3 - 0
modules/boonex/tasks/install/langs/en.xml

@@ -447,9 +447,12 @@
     <string name="_bx_tasks_grid_filter_item_title_tm_select_one_context_module"><![CDATA[Any Module]]></string>
     <string name="_bx_tasks_grid_filter_item_title_tm_select_one_object_id"><![CDATA[Any Task]]></string>
 
+    <string name="_bx_tasks_grid_column_title_pv_active"><![CDATA[Active]]></string>
     <string name="_bx_tasks_grid_column_title_pv_title"><![CDATA[Title]]></string>
     <string name="_bx_tasks_grid_action_title_pv_add"><![CDATA[Add]]></string>
     <string name="_bx_tasks_grid_action_title_pv_edit"><![CDATA[Edit]]></string>
+    <string name="_bx_tasks_grid_action_title_pv_activate"><![CDATA[Activate]]></string>
+    <string name="_bx_tasks_grid_action_title_pv_deactivate"><![CDATA[Deactivate]]></string>
     <string name="_bx_tasks_grid_action_title_pv_delete"><![CDATA[Delete]]></string>
     <string name="_bx_tasks_grid_action_confirm_pv_delete"><![CDATA[This action will remove the item from all tasks across the contexts and it cannot be undone. Do you want to preceed?]]></string>
     <string name="_bx_tasks_grid_filter_item_title_pv_select_one_list"><![CDATA[Select list...]]></string>

+ 9 - 5
modules/boonex/tasks/install/sql/enable.sql

@@ -508,16 +508,20 @@ INSERT INTO `sys_grid_actions` (`object`, `type`, `name`, `title`, `icon`, `icon
 
 -- GRIDS: pre lists and values
 INSERT INTO `sys_objects_grid` (`object`, `source_type`, `source`, `table`, `field_id`, `field_order`, `field_active`, `paginate_url`, `paginate_per_page`, `paginate_simple`, `paginate_get_start`, `paginate_get_per_page`, `filter_fields`, `filter_fields_translatable`, `filter_mode`, `sorting_fields`, `sorting_fields_translatable`, `visible_for_levels`, `override_class_name`, `override_class_file`) VALUES
-('bx_tasks_pre_values', 'Sql', 'SELECT `tpv`.*, `tpl`.`title` AS `list_title`, `tpl`.`use_color` AS `list_color`, `tpl`.`use_multiselect` AS `list_multiselect` FROM `bx_tasks_pre_values` AS `tpv` INNER JOIN `bx_tasks_pre_lists` AS `tpl` ON `tpv`.`list`=`tpl`.`name` WHERE 1 ', 'bx_tasks_pre_values', 'id', 'order', '', '', 20, NULL, 'start', '', 'tpv`.`name,tpv`.`title,tpl`.`title', '', 'like', '', '', 2147483647, 'BxTasksGridPreValues', 'modules/boonex/tasks/classes/BxTasksGridPreValues.php');
+('bx_tasks_pre_values', 'Sql', 'SELECT `tpv`.*, `tpl`.`title` AS `list_title`, `tpl`.`use_color` AS `list_color`, `tpl`.`use_multiselect` AS `list_multiselect` FROM `bx_tasks_pre_values` AS `tpv` INNER JOIN `bx_tasks_pre_lists` AS `tpl` ON `tpv`.`list`=`tpl`.`name` WHERE 1 ', 'bx_tasks_pre_values', 'id', 'order', 'active', '', 20, NULL, 'start', '', 'tpv`.`name,tpv`.`title,tpl`.`title', '', 'like', '', '', 2147483647, 'BxTasksGridPreValues', 'modules/boonex/tasks/classes/BxTasksGridPreValues.php');
 
 INSERT INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `translatable`, `chars_limit`, `params`, `order`) VALUES
-('bx_tasks_pre_values', 'order', '', '10%', 0, 0, '', 1),
-('bx_tasks_pre_values', 'title', '_bx_tasks_grid_column_title_pv_title', '70%', 0, 0, '', 2),
-('bx_tasks_pre_values', 'actions', '', '20%', 0, 0, '', 3);
+('bx_tasks_pre_values', 'checkbox', '_sys_select', '3%', 0, 0, '', 1),
+('bx_tasks_pre_values', 'order', '', '3%', 0, 0, '', 2),
+('bx_tasks_pre_values', 'switcher', '_bx_tasks_grid_column_title_pv_active', '9%', 0, 0, '', 3),
+('bx_tasks_pre_values', 'title', '_bx_tasks_grid_column_title_pv_title', '65%', 0, 0, '', 4),
+('bx_tasks_pre_values', 'actions', '', '20%', 0, 0, '', 5);
 
 INSERT INTO `sys_grid_actions` (`object`, `type`, `name`, `title`, `icon`, `icon_only`, `confirm`, `order`) VALUES
 ('bx_tasks_pre_values', 'independent', 'add', '_bx_tasks_grid_action_title_pv_add', '', 0, 0, 1),
-('bx_tasks_pre_values', 'bulk', 'delete', '_bx_tasks_grid_action_title_pv_delete', '', 0, 1, 1),
+('bx_tasks_pre_values', 'bulk', 'activate', '_bx_tasks_grid_action_title_pv_activate', '', 0, 0, 1),
+('bx_tasks_pre_values', 'bulk', 'deactivate', '_bx_tasks_grid_action_title_pv_deactivate', '', 0, 0, 2),
+('bx_tasks_pre_values', 'bulk', 'delete', '_bx_tasks_grid_action_title_pv_delete', '', 0, 1, 3),
 ('bx_tasks_pre_values', 'single', 'edit', '_bx_tasks_grid_action_title_pv_edit', 'pencil-alt', 1, 0, 1),
 ('bx_tasks_pre_values', 'single', 'delete', '_bx_tasks_grid_action_title_pv_delete', 'remove', 1, 1, 2);
 

+ 1 - 0
modules/boonex/tasks/install/sql/install.sql

@@ -95,6 +95,7 @@ CREATE TABLE IF NOT EXISTS `bx_tasks_pre_values` (
   `order` int(11) NOT NULL DEFAULT '0',
   `title` varchar(255) NOT NULL DEFAULT '',
   `color` varchar(128) NOT NULL DEFAULT '',
+  `active` tinyint(4) NOT NULL DEFAULT '1', 
   PRIMARY KEY (`id`),
   UNIQUE KEY `list_value` (`list`, `value`(191))
 );