Piotr Labudda пре 6 година
родитељ
комит
2393f57c2d
2 измењених фајлова са 46 додато и 15 уклоњено
  1. 11 1
      SE/se-lib/AclQueryFeatures.php
  2. 35 14
      SE/se-lib/Data_Source.php

+ 11 - 1
SE/se-lib/AclQueryFeatures.php

@@ -230,6 +230,15 @@ class AclQueryFeatures {
 		return null;
 	}
 
+	public function parseSpecialFilterTrash($type) {
+		DBG::log($type, 'string', "parse SpecialFilter Trash");
+		switch ($type) {
+			case 'HIDE': return ['A_STATUS', '!=', 'DELETED'];
+			case 'TRASH': return ['A_STATUS', '=', 'DELETED'];
+		}
+		return null;
+	}
+
 	public function parseSpecialFilterSpotkania($type) {
 		DBG::log($type, 'string', "parse SpecialFilter Spotkania");
 		switch ($type) {
@@ -342,7 +351,8 @@ class AclQueryFeatures {
 					case 'Msgs': $this->_query->where($this->parseSpecialFilterMsgs($v)); break;
 					case 'Problemy': $this->_query->where($this->parseSpecialFilterProblemy($v)); break;
 					case 'Status': $this->_query->where($this->parseSpecialFilterStatus($v)); break;
-					case 'Spotkania': $this->_query->where($this->parseSpecialFilterSpotkania($v)); break;
+					case 'Trash': $this->_query->where($this->parseSpecialFilterTrash($v)); break;
+					case 'Przypomnienia': $this->_query->where($this->parseSpecialFilterSpotkania($v)); break;
 					case 'Access': break; // SKIP - used below
 					default: {
 						if (method_exists($this->_acl, 'parseSpecialFilter')) {

+ 35 - 14
SE/se-lib/Data_Source.php

@@ -227,14 +227,23 @@ class Data_Source {
 	function getSpecialFilters() {
 		$fltrs = array();
 
+		if (array_key_exists('A_STATUS', $this->_cols)) {
+			$fltrs['Trash'] = (object)[
+				'icon' => 'glyphicon glyphicon-trash',
+				'btns' => [
+					'Kosz' => (object)[ 'value' => 'TRASH' ],
+					'Ukryj' => (object)[ 'value' => 'HIDE' ],
+				],
+			];
+		}
 		if ($this->_showMsgsSpecialFilter) {
 			$fltrs['Msgs'] = (object)[
 				'icon' => 'glyphicon glyphicon-envelope',
 				'label' => 'Wiadomości',
 				'btns' => [
-					'WIADOMOSCI' => (object)[ 'value' => 'HAS_MSGS' ],
-					'NOWE' => (object)[ 'value' => 'NEW_MSGS' ],
-					'BRAK_WIAD.' => (object)[ 'value' => 'NO_MSGS' ],
+					'Wiadomości' => (object)[ 'value' => 'HAS_MSGS' ],
+					'Nowe' => (object)[ 'value' => 'NEW_MSGS' ],
+					'Brak' => (object)[ 'value' => 'NO_MSGS' ],
 				],
 			];
 		}
@@ -242,9 +251,9 @@ class Data_Source {
 			$fltrs['Problemy'] = (object)[
 				'icon' => 'glyphicon glyphicon-warning-sign',
 				'btns' => [
-					'PROBLEMY' => (object)[ 'value' => 'PROBLEM' ],
-					'OSTRZEZENIA' => (object)[ 'value' => 'WARNING' ],
-					'BEZ_PROBLEM.' => (object)[ 'value' => 'NORMAL' ],
+					'Problemy' => (object)[ 'value' => 'PROBLEM' ],
+					'Ostrzeżenia' => (object)[ 'value' => 'WARNING' ],
+					'Brak' => (object)[ 'value' => 'NORMAL' ],
 				],
 			];
 		}
@@ -252,19 +261,19 @@ class Data_Source {
 			$fltrs['Status'] = (object)[
 				'icon' => 'glyphicon glyphicon-question-sign',
 				'btns' => [
-					'OCZEKUJACY' => (object)[ 'value' => 'WAITING' ],
-					'AKTYWNI' => (object)[ 'value' => 'AKTYWNI' ],
+					'Oczekujący' => (object)[ 'value' => 'WAITING' ],
+					'Aktywni' => (object)[ 'value' => 'AKTYWNI' ],
 				],
 			];
 		}
 		if (array_key_exists('L_APPOITMENT_DATE', $this->_cols)) {
-			$fltrs['Spotkania'] = (object)[
+			$fltrs['Przypomnienia'] = (object)[
 				'icon' => 'glyphicon glyphicon-calendar',
 				'btns' => [
-					'STARE' => (object)[ 'value' => 'OLD' ],
-					'ZARAZ' => (object)[ 'value' => 'NOW' ],
-					'DZISIAJ' => (object)[ 'value' => 'TODAY' ],
-					'BRAK' => (object)[ 'value' => 'BRAK' ],
+					'Stare' => (object)[ 'value' => 'OLD' ],
+					'Dzisiaj' => (object)[ 'value' => 'TODAY' ],
+					'Zaraz' => (object)[ 'value' => 'NOW' ],
+					'Brak' => (object)[ 'value' => 'BRAK' ],
 				],
 			];
 		}
@@ -350,7 +359,19 @@ class Data_Source {
 					}
 				}
 				break;
-			case 'Spotkania':
+			case 'Trash':
+				if (array_key_exists('A_STATUS', $this->_cols)) {
+					switch ($value) {
+						case 'TRASH':
+							$sqlFltr = " t.`A_STATUS` = 'DELETED' ";
+							break;
+						case 'HIDE':
+							$sqlFltr = " t.`A_STATUS` != 'DELETED' ";
+							break;
+					}
+				}
+				break;
+			case 'Przypomnienia':
 				if (array_key_exists('L_APPOITMENT_DATE', $this->_cols)) {
 					switch ($value) {
 						case 'OLD':