test_perms.gui.xml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <ui_table xmlns="https://biuro.biall-net.pl/SE/version-git/schema/gui/table.gui.xsd"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:ogc="http://www.opengis.net/ogc">
  5. <!-- from Data_Source
  6. sf_Problemy
  7. $fltrs['Problemy'] = new stdClass();
  8. $fltrs['Problemy']->icon = 'glyphicon glyphicon-warning-sign';
  9. $fltrs['Problemy']->btns = array();
  10. $fltrs['Problemy']->btns['PROBLEMY'] = (object)array('value'=>'PROBLEM');
  11. $fltrs['Problemy']->btns['OSTRZEZENIA'] = (object)array('value'=>'WARNING');
  12. $fltrs['Problemy']->btns['BEZ_PROBLEM.'] = (object)array('value'=>'NORMAL');
  13. sf_Status
  14. $fltrs['Status'] = new stdClass();
  15. $fltrs['Status']->icon = 'glyphicon glyphicon-question-sign';
  16. $fltrs['Status']->btns = array();
  17. $fltrs['Status']->btns['OCZEKUJACY'] = (object)array('value'=>'WAITING');
  18. $fltrs['Status']->btns['AKTYWNI'] = (object)array('value'=>'AKTYWNI');
  19. sf_Spotkania
  20. $fltrs['Spotkania'] = new stdClass();
  21. $fltrs['Spotkania']->icon = 'glyphicon glyphicon-calendar';
  22. $fltrs['Spotkania']->btns = array();
  23. $fltrs['Spotkania']->btns['STARE'] = (object)array('value'=>'OLD');
  24. $fltrs['Spotkania']->btns['ZARAZ'] = (object)array('value'=>'NOW');
  25. $fltrs['Spotkania']->btns['DZISIAJ'] = (object)array('value'=>'TODAY');
  26. $fltrs['Spotkania']->btns['BRAK'] = (object)array('value'=>'BRAK');
  27. sf_Access
  28. $fltrs['Access'] = new stdClass();
  29. $fltrs['Access']->icon = 'glyphicon glyphicon-lock';
  30. $fltrs['Access']->btns = array();
  31. $fltrs['Access']->btns['Pokaż'] = (object)array('value'=>'SHOW');
  32. -->
  33. <!-- from Data_Source
  34. sf_Problemy
  35. case 'Problemy':
  36. if (array_key_exists('A_PROBLEM', $this->_cols)) {
  37. switch ($value) {
  38. case 'PROBLEM':
  39. $sqlFltr = " t.`A_PROBLEM`!='' ";
  40. break;
  41. case 'WARNING':
  42. $sqlFltr = " t.`A_PROBLEM`='WARNING' ";
  43. break;
  44. case 'NORMAL':
  45. $sqlFltr = " t.`A_PROBLEM`='' ";
  46. break;
  47. }
  48. }
  49. break;
  50. case 'Status':
  51. if (array_key_exists('A_STATUS', $this->_cols)) {
  52. switch ($value) {
  53. case 'WAITING':
  54. $sqlFltr = " t.`A_STATUS`='WAITING' ";
  55. break;
  56. case 'AKTYWNI':
  57. $sqlFltr = " t.`A_STATUS` in('NORMAL', 'WARNING') ";
  58. // TODO: $_SESSION['USERS_FILTER_STATUS_SQL']="and (( $thiss->DETECT_TABLE_NAME.A_STATUS='NORMAL' or $thiss->DETECT_TABLE_NAME.A_STATUS='WARNING' ) or ( $thiss->DETECT_TABLE_NAME.A_STATUS='OFF_SOFT' and $thiss->DETECT_TABLE_NAME.A_PROBLEM_DESC not like '%odla%fizy%' and $thiss->DETECT_TABLE_NAME.A_PROBLEM!='' ) or ( $thiss->DETECT_TABLE_NAME.A_STATUS='OFF_SOFT' and $thiss->DETECT_TABLE_NAME.A_PROBLEM='' )) ";
  59. // if ($thiss->DETECT_TABLE_NAME == 'KSIEG_DOKUMENTY') $_SESSION['USERS_FILTER_STATUS_SQL']="and ( $thiss->DETECT_TABLE_NAME.A_STATUS='NORMAL' or $thiss->DETECT_TABLE_NAME.A_STATUS='WARNING' ) ";
  60. break;
  61. }
  62. }
  63. break;
  64. case 'Spotkania':
  65. if (array_key_exists('L_APPOITMENT_DATE', $this->_cols)) {
  66. switch ($value) {
  67. case 'OLD':
  68. $sqlFltr = " UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)<UNIX_TIMESTAMP(now()) and t.`L_APPOITMENT_DATE`!='' ";
  69. break;
  70. case 'NOW':
  71. $sqlFltr = " UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)<UNIX_TIMESTAMP(now())+3600 and UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)>UNIX_TIMESTAMP(now())-3600 ";
  72. break;
  73. case 'TODAY':
  74. $start = mktime(0,0,0, date("m"), date("d"), date("Y"));
  75. $end = mktime(0,0,0, date("m"), date("d") + 1, date("Y"));
  76. $sqlFltr = " UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)>'{$start}' and UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)<'{$end}' ";
  77. break;
  78. case 'TOMORROW':
  79. $start = mktime(0,0,0, date("m"), date("d") + 1, date("Y"));
  80. $end = mktime(0,0,0, date("m"), date("d") + 2, date("Y"));
  81. $sqlFltr = " UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)>'{$start}' and UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)<'{$end}' ";
  82. break;
  83. case 'YESTERDAY':
  84. $start = mktime(0,0,0, date("m"), date("d") - 1, date("Y"));
  85. $end = mktime(0,0,0, date("m"), date("d") - 2, date("Y"));
  86. $sqlFltr = " UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)>'{$start}' and UNIX_TIMESTAMP(t.`L_APPOITMENT_DATE`)<'{$end}' ";
  87. break;
  88. case 'BRAK':
  89. $start = mktime(0,0,0, date("m"), date("d") - 1, date("Y"));
  90. $end = mktime(0,0,0, date("m"), date("d") - 2, date("Y"));
  91. $sqlFltr = " t.`L_APPOITMENT_DATE`='' ";
  92. break;
  93. }
  94. }
  95. break;
  96. case 'Access':
  97. if ('SHOW' != $value && $this->isAccessFltrAllowed()) {
  98. $userLogin = User::getLogin();
  99. $usrAclGroups = User::getLdapGroupsNames();
  100. $usrAclGroups[] = '';// TODO: allow empty for everyone?
  101. $sqlUsrAclGroups = "'" . implode("','", $usrAclGroups) . "'";
  102. $sqlFltr = "
  103. t.`{$this->_fieldGroupWrite}` in({$sqlUsrAclGroups})
  104. and t.`{$this->_fieldGroupRead}` in({$sqlUsrAclGroups})
  105. ";
  106. if (array_key_exists('L_APPOITMENT_USER', $this->_cols)) {
  107. $sqlFltr = "
  108. (
  109. ({$sqlFltr})
  110. or t.`L_APPOITMENT_USER`='{$userLogin}'
  111. )
  112. ";
  113. }
  114. }
  115. -->
  116. <filters>
  117. <filter>
  118. <label>Status</label>
  119. <icon>question-sign</icon>
  120. <name>sf_Status</name>
  121. <filter_buttons>
  122. <filter_button>
  123. <name>OCZEKUJACY</name>
  124. <value>WAITING</value>
  125. <!-- $sqlFltr = " t.`A_STATUS`='WAITING' "; -->
  126. <ogc:Filter>
  127. <ogc:PropertyIsEqualTo>
  128. <ogc:PropertyName>A_STATUS</ogc:PropertyName>
  129. <ogc:Literal>WAITING</ogc:Literal>
  130. </ogc:PropertyIsEqualTo>
  131. </ogc:Filter>
  132. </filter_button>
  133. <filter_button>
  134. <name>AKTYWNI</name>
  135. <value>AKTYWNI</value>
  136. <!-- $sqlFltr = " t.`A_STATUS` in('NORMAL', 'WARNING') "; -->
  137. <!-- $sqlFltr = " (t.`A_STATUS`='NORMAL' or t.`A_STATUS`='WARNING') "; -->
  138. <ogc:Filter>
  139. <!-- in('NORMAL', 'WARNING') -->
  140. <ogc:Or>
  141. <ogc:PropertyIsEqualTo>
  142. <ogc:PropertyName>A_STATUS</ogc:PropertyName>
  143. <ogc:Literal>NORMAL</ogc:Literal>
  144. </ogc:PropertyIsEqualTo>
  145. </ogc:Or>
  146. <ogc:Or>
  147. <ogc:PropertyIsEqualTo>
  148. <ogc:PropertyName>A_STATUS</ogc:PropertyName>
  149. <ogc:Literal>WARNING</ogc:Literal>
  150. </ogc:PropertyIsEqualTo>
  151. </ogc:Or>
  152. </ogc:Filter>
  153. <!-- ogc:Filter example:
  154. <ogc:Filter>
  155. <ogc:And>
  156. <ogc:Or>
  157. <ogc:PropertyIsEqualTo>
  158. <ogc:PropertyName>ID</ogc:PropertyName>
  159. <ogc:Literal>98400005701</ogc:Literal>
  160. </ogc:PropertyIsEqualTo>
  161. <ogc:PropertyIsEqualTo>
  162. <ogc:PropertyName>ID</ogc:PropertyName>
  163. <ogc:Literal>-1</ogc:Literal>
  164. </ogc:PropertyIsEqualTo>
  165. </ogc:Or>
  166. <ogc:And>
  167. <ogc:PropertyIsLessThanOrEqualTo>
  168. <ogc:PropertyName>MH_DATUM_INGANG</ogc:PropertyName>
  169. <ogc:Literal>2015-02-27T00:00:00Z</ogc:Literal>
  170. </ogc:PropertyIsLessThanOrEqualTo>
  171. <ogc:Or>
  172. <ogc:PropertyIsGreaterThanOrEqualTo>
  173. <ogc:PropertyName>MH_DATUM_EINDE</ogc:PropertyName>
  174. <ogc:Literal>2015-02-27T00:00:00Z</ogc:Literal>
  175. </ogc:PropertyIsGreaterThanOrEqualTo>
  176. <ogc:PropertyIsNull>
  177. <ogc:PropertyName>MH_DATUM_EINDE</ogc:PropertyName>
  178. </ogc:PropertyIsNull>
  179. </ogc:Or>
  180. </ogc:And>
  181. </ogc:And>
  182. </ogc:Filter>
  183. -->
  184. </filter_button>
  185. </filter_buttons>
  186. </filter>
  187. </filters>
  188. </ui_table>