superedit-PRZYPOMNIJ.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. <?php
  2. /**
  3. * 1. określić jakie rekordy pokazać jako taski
  4. * 2. filtrować wyniki
  5. *
  6. * -- koresp : 301
  7. SELECT
  8. kor.ID
  9. , kor.ID_PROJECT
  10. , kor.A_STATUS
  11. , kor.L_APPOITMENT_USER
  12. , kor.L_APPOITMENT_DATE
  13. , kor.L_APPOITMENT_INFO
  14. , kor.A_RECORD_CREATE_DATE
  15. -- ? echo '<td>'.$h['K_TYP_KORESP']." -".$h['K_TYP_RODZAJ']." (".$h['K_TYP_RODZAJ_OPIS'].")".'</td>';
  16. -- echo '<td>'.$h['K_OD_KOGO']."/".$h['OD_KOGO_ADRES']."/".$h['K_ZAWARTOS'].'</td>';
  17. , kor.K_OD_KOGO
  18. , kor.OD_KOGO_ADRES
  19. , kor.K_ZAWARTOS
  20. -- TODO: , proj.M_DIST_DESC
  21. , kor.K_LOKALIZACJA
  22. , kor.K_LOKALIZACJA_OPIS
  23. FROM `IN7_DZIENNIK_KORESP` as kor
  24. WHERE kor.`A_STATUS` NOT IN ('OFF_HARD','DELETED')
  25. * -- proj : 1155
  26. SELECT proj.ID
  27. , proj.A_STATUS
  28. , proj.M_DIST_DESC
  29. , proj.M_DIST_TYPE
  30. -- ? , proj.M_DIST_DATE, proj.M_DISTRIBUTOR
  31. -- ? echo '<td>'."Wpr: ".$h['A_RECORD_CREATE_AUTHOR']."/ akt : ".$h['A_RECORD_UPDATE_AUTHOR']."(".$h['A_RECORD_UPDATE_DATE'].")".'</td>';
  32. -- ? echo '<td>'." <b>".$h['A_PROBLEM']." ".$h['A_PROBLEM_DATE']."</b><font color=\"#444444\"><pre> ".$h['A_PROBLEM_DESC']."</pre></font>".
  33. FROM `IN7_MK_BAZA_DYSTRYBUCJI` as proj
  34. WHERE proj.`A_STATUS` NOT IN ('OFF_HARD','DELETED')
  35. * -- proces: musi być l_app i l_app_date
  36. select p.*
  37. from `CRM_PROCES` as p
  38. where p.`TYPE`='PROCES_INIT'
  39. and p.`A_STATUS` in('NORMAL', 'WAITING')
  40. and p.`L_APPOITMENT_DATE`!=''
  41. and p.`L_APPOITMENT_USER`!=''
  42. --------------------------------------------------------------------------
  43. koresp bez ID_PROJ, bez L_APP - pokazać się osobie z A_CREATE_AUTHOR
  44. koresp z L_APP - pokazać się osobie z L_APP
  45. koresp bez L_APP, z ID_PROJ i proj ma L_APP to pokazać się proj.L_APP
  46. koresp bez L_APP, z ID_PROJ i proj nie ma L_APP ale proj z p_ID ma l_app to pokazać się proj_parent.L_APP
  47. j/w 10 poziomów w górę
  48. proj bez L_APP, szukać w górę,
  49. *
  50. * Filtry:
  51. * Wszystkie/Moje/konkretny:
  52. * Data: PO_TERMINIE, DZISIAJ, W_CIAGU_7_DNI
  53. * Sortowanie: od najbliższej daty powrotu (l_app_date)
  54. *
  55. * Tabela tasków:
  56. * -- termin wykonania
  57. * -- czego dotyczy PROJEKT/KORESP/PROCES + link nr rekordu
  58. * -- type rekordu kor.K_TYP_KORESP itd.; proj.M_DIST_TYPE; proc.TYPE
  59. * -- opis co zrobić (Od kogo/temat/sprawa)
  60. * -- lokalizacja kor.
  61. *
  62. *
  63. */
  64. function PRZYPOMNIJ() {
  65. if (User::get('ADM_ADMIN_LEVEL') > 5) {
  66. SE_Layout::menu();
  67. ?>
  68. <div class="container">
  69. <div class="alert alert-error">
  70. Brak dostępu!
  71. </div>
  72. </div>
  73. <?php
  74. SE_Layout::dol();
  75. die();
  76. }
  77. Lib::loadClass('ProcesHelper');
  78. $zasobProjID = ProcesHelper::getZasobTableID('IN7_MK_BAZA_DYSTRYBUCJI');
  79. $zasobKorespID = ProcesHelper::getZasobTableID('IN7_DZIENNIK_KORESP');
  80. Lib::loadClass('Przypomnij');
  81. $przypomnij = new Przypomnij();
  82. $przypomnij->setRecurseLimit(3);// TODO: 10
  83. $task = V::get('task', '', $_GET);
  84. if ($task == 'AJAX_EDIT_INLINE') {
  85. // ?FUNCTION_INIT=PRZYPOMNIJ&HEADER_NOT_INIT=YES&task=AJAX_EDIT_INLINE
  86. // $_GET [rowid] => 2286, [type] => proces
  87. $przypomnij->sendAjaxEditAppDateInline();
  88. exit;
  89. }
  90. else if ($task == 'AJAX_EDIT_INLINE_SAVE') {
  91. // ?FUNCTION_INIT=PRZYPOMNIJ&HEADER_NOT_INIT=YES&task=AJAX_EDIT_INLINE_SAVE
  92. // $_GET [rowid] => 2286, [type] => proces, [fldId] => date
  93. $przypomnij->sendAjaxEditAppDateInlineSave();
  94. exit;
  95. }
  96. SE_Layout::menu();
  97. $sqlAllowedUsersList = $przypomnij->getAllowedUsersList();
  98. $selected_user = isset($_GET['KTO'])? $_GET['KTO'] : '';//$_SERVER['argv'][1];
  99. $selected_user_err = '';
  100. if (!empty($selected_user)) {
  101. if (!array_key_exists($selected_user, $sqlAllowedUsersList)) {
  102. $selected_user = '';
  103. $selected_user_err = 'Brak danych - wybierz innego użytkownika';
  104. }
  105. }
  106. $hideFltrs = $przypomnij->getDateHideFltrTypes();
  107. ?>
  108. <style type="text/css">
  109. .frm-przypomnij { width:96%; margin:0 auto 10px auto; table-layout:fixed; }
  110. .tbl-przypomnij { width:96%; margin:0 auto 10px auto; table-layout:fixed; }
  111. .tbl-przypomnij td,
  112. .tbl-przypomnij th { overflow:hidden; }
  113. .tbl-przypomnij .l_app_date { white-space:nowrap; }
  114. .tbl-przypomnij .date-PO_TERMINIE .l_app_date { color:#FD4242; }
  115. .tbl-przypomnij .date-DZISIAJ .l_app_date { color:#34B934; }
  116. .tbl-przypomnij .date-W_CIAGU_7_DNI .l_app_date { color:#C58B1F; }
  117. .tbl-przypomnij .date-PO_7_DNIACH .l_app_date { color:#87847D; }
  118. .use-filtr_only_stare tr.l-app-stare{display:none;}
  119. .fltr-hide_PROJEKT tr.type-PROJEKT {display:none;}
  120. .fltr-hide_KORESP tr.type-KORESP {display:none;}
  121. .fltr-hide_PROCES tr.type-PROCES {display:none;}
  122. .fltr-hide_PO_TERMINIE tr.date-PO_TERMINIE {display:none;}
  123. .fltr-hide_DZISIAJ tr.date-DZISIAJ {display:none;}
  124. .fltr-hide_W_CIAGU_7_DNI tr.date-W_CIAGU_7_DNI {display:none;}
  125. .fltr-hide_PO_7_DNIACH tr.date-PO_7_DNIACH {display:none;}
  126. .fltr-hide_BRAK tr.date-BRAK {display:none;}
  127. .nobr {white-space:nowrap;}
  128. </style>
  129. <script type="text/javascript">
  130. function przypomnij_update_counters() {
  131. var taskTypeStatMap = {
  132. PROCES: 'przypomnij_stats-procesy'
  133. , KORESP: 'przypomnij_stats-pisma'
  134. , PROJEKT: 'przypomnij_stats-projekty'
  135. }
  136. , taskStats = {};
  137. for (var i in taskTypeStatMap) taskStats[i] = 0;
  138. jQuery('.tbl-przypomnij').find('tbody tr:visible').each(function(ind, task){
  139. task = jQuery(task);
  140. //console.log('node i:', ind, 'node:', task, 'isProces:', task.hasClass('type-PROCES'));
  141. for (var i in taskTypeStatMap) {
  142. if (task.hasClass('type-' + i)) {
  143. taskStats[i] += 1;
  144. }
  145. }
  146. });
  147. for (var i in taskTypeStatMap) {
  148. jQuery('#' + taskTypeStatMap[i]).text(taskStats[i]);
  149. }
  150. }
  151. jQuery(document).ready(function(){
  152. jQuery('#filtr_show_PROJEKT').click(function(e){
  153. var n=jQuery(this);
  154. var tbl=jQuery('table.tbl-przypomnij');
  155. if (n.is(':checked')) {
  156. tbl.removeClass('fltr-hide_PROJEKT');
  157. } else {
  158. tbl.addClass('fltr-hide_PROJEKT');
  159. }
  160. przypomnij_update_counters();
  161. });
  162. jQuery('#filtr_show_KORESP').click(function(e){
  163. var n=jQuery(this);
  164. var tbl=jQuery('table.tbl-przypomnij');
  165. if (n.is(':checked')) {
  166. tbl.removeClass('fltr-hide_KORESP');
  167. } else {
  168. tbl.addClass('fltr-hide_KORESP');
  169. }
  170. przypomnij_update_counters();
  171. });
  172. jQuery('#filtr_show_PROCES').click(function(e){
  173. var n=jQuery(this);
  174. var tbl=jQuery('table.tbl-przypomnij');
  175. if (n.is(':checked')) {
  176. tbl.removeClass('fltr-hide_PROCES');
  177. } else {
  178. tbl.addClass('fltr-hide_PROCES');
  179. }
  180. przypomnij_update_counters();
  181. });
  182. jQuery('#filtr_show_PO_TERMINIE').click(function(e){
  183. var n=jQuery(this);
  184. var tbl=jQuery('table.tbl-przypomnij');
  185. if (n.is(':checked')) {
  186. tbl.removeClass('fltr-hide_PO_TERMINIE');
  187. } else {
  188. tbl.addClass('fltr-hide_PO_TERMINIE');
  189. }
  190. przypomnij_update_counters();
  191. });
  192. jQuery('#filtr_show_DZISIAJ').click(function(e){
  193. var n=jQuery(this);
  194. var tbl=jQuery('table.tbl-przypomnij');
  195. if (n.is(':checked')) {
  196. tbl.removeClass('fltr-hide_DZISIAJ');
  197. } else {
  198. tbl.addClass('fltr-hide_DZISIAJ');
  199. }
  200. przypomnij_update_counters();
  201. });
  202. jQuery('#filtr_show_W_CIAGU_7_DNI').click(function(e){
  203. var n=jQuery(this);
  204. var tbl=jQuery('table.tbl-przypomnij');
  205. if (n.is(':checked')) {
  206. tbl.removeClass('fltr-hide_W_CIAGU_7_DNI');
  207. } else {
  208. tbl.addClass('fltr-hide_W_CIAGU_7_DNI');
  209. }
  210. przypomnij_update_counters();
  211. });
  212. jQuery('#filtr_show_PO_7_DNIACH').click(function(e){
  213. var n=jQuery(this);
  214. var tbl=jQuery('table.tbl-przypomnij');
  215. if (n.is(':checked')) {
  216. tbl.removeClass('fltr-hide_PO_7_DNIACH');
  217. } else {
  218. tbl.addClass('fltr-hide_PO_7_DNIACH');
  219. }
  220. przypomnij_update_counters();
  221. });
  222. jQuery('#filtr_show_BRAK').click(function(e){
  223. var n=jQuery(this);
  224. var tbl=jQuery('table.tbl-przypomnij');
  225. if (n.is(':checked')) {
  226. tbl.removeClass('fltr-hide_BRAK');
  227. } else {
  228. tbl.addClass('fltr-hide_BRAK');
  229. }
  230. przypomnij_update_counters();
  231. });
  232. });
  233. </script>
  234. <form action="" method="get" class="frm-przypomnij form-inline">
  235. <input type="hidden" name="MENU_INIT" value="<?php echo __FUNCTION__; ?>">
  236. <a href="index.php?MENU_INIT=<?php echo __FUNCTION__; ?>">Wszyscy</a>
  237. |
  238. <a href="index.php?MENU_INIT=<?php echo __FUNCTION__; ?>&KTO=<?php echo $_SESSION['AUTHORIZE_USER']; ?>" >Twoje (<?php echo $_SESSION['AUTHORIZE_USER']; ?>)</a>
  239. |
  240. <?php if (!empty($sqlAllowedUsersList)) : ?>
  241. <select name="KTO">
  242. <option value=""> Wszyscy </option>
  243. <?php foreach ($sqlAllowedUsersList as $k => $v) : ?>
  244. <?php $sel = ($k == $selected_user)? ' selected="selected"' : ''; ?>
  245. <option value="<?php echo $k; ?>" <?php echo $sel; ?>><?php echo $k; ?></option>
  246. <?php endforeach; ?>
  247. </select>
  248. <?php endif; ?>
  249. <input type="submit" value="Pokaż">
  250. <span style="padding:0 0 0 30px;">
  251. <label><strong>Pokaż: </strong></label>
  252. <label class="checkbox">
  253. <input type="checkbox" name="filtr_show_PROJEKT" checked="checked" value="1" id="filtr_show_PROJEKT" />
  254. projekt
  255. </label>
  256. <label class="checkbox">
  257. <input type="checkbox" name="filtr_show_KORESP" checked="checked" value="1" id="filtr_show_KORESP" />
  258. korespondencja
  259. </label>
  260. <label class="checkbox">
  261. <input type="checkbox" name="filtr_show_PROCES" checked="checked" value="1" id="filtr_show_PROCES" />
  262. procesy
  263. </label>
  264. </span>
  265. <span style="padding:0 0 0 30px;">
  266. <label><strong>Data: </strong></label>
  267. <label class="checkbox">
  268. <input type="checkbox" name="filtr_show_PO_TERMINIE" checked="checked" value="1" id="filtr_show_PO_TERMINIE" />
  269. po terminie
  270. </label>
  271. <label class="checkbox">
  272. <input type="checkbox" name="filtr_show_DZISIAJ" checked="checked" value="1" id="filtr_show_DZISIAJ" />
  273. dzisiaj
  274. </label>
  275. <label class="checkbox">
  276. <input type="checkbox" name="filtr_show_W_CIAGU_7_DNI" checked="checked" value="1" id="filtr_show_W_CIAGU_7_DNI" />
  277. w ciagu 7 dni
  278. </label>
  279. <label class="checkbox">
  280. <input type="checkbox" name="filtr_show_PO_7_DNIACH" value="1" id="filtr_show_PO_7_DNIACH" />
  281. po 7 dniach
  282. </label>
  283. <label class="checkbox">
  284. <input type="checkbox" name="filtr_show_BRAK" value="1" id="filtr_show_BRAK" />
  285. brak
  286. </label>
  287. </span>
  288. <?php
  289. if(V::get('DBG_P', '', $_GET)){echo'<input type="hidden" name="DBG_P" value="1">';}
  290. echo'</form>';
  291. if ($selected_user_err) {
  292. echo '<div class="alert alert-error">' . $selected_user_err . '</div>';
  293. return;
  294. }
  295. $przypomnij->fetchData();
  296. $przypomnij->setFltrUser($selected_user);
  297. $data = $przypomnij->getRawData();
  298. if(V::get('DBG_P', '', $_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">$data (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($data);echo'</pre>';}
  299. $tasks = $przypomnij->getTasksByDate();
  300. if(V::get('DBG_P', '', $_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">$tasks (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($tasks);echo'</pre>';}
  301. $ILOSC_PISM = 0;
  302. $ILOSC_SPRAW = 0;
  303. $ILOSC_PROCES = 0;
  304. /*
  305. * Tabela tasków:
  306. * -- termin wykonania
  307. * -- czego dotyczy PROJEKT/KORESP/PROCES + link nr rekordu
  308. * -- typ rekordu kor.K_TYP_KORESP itd.; proj.M_DIST_TYPE; proc.TYPE
  309. * -- opis co zrobić (Od kogo/temat/sprawa)
  310. * -- lokalizacja kor.
  311. */
  312. $dateFltrTypes = $przypomnij->getDateFltrTypes();
  313. ?>
  314. <table class="tbl-przypomnij table table-bordered table-hover fltr-hide_PO_7_DNIACH fltr-hide_BRAK">
  315. <thead>
  316. <tr>
  317. <th style="width:100px">Termin wykonania</th>
  318. <th style="width:20%">Opis działań do wykonania</th>
  319. <th style="width:190px">Typ rekordu / ID</th>
  320. <th>Firma powiąz. / adres / opis-temat</th>
  321. <th style="width:100px">Lokalizacja</th>
  322. </tr>
  323. </thead>
  324. <tbody>
  325. <?php foreach ($tasks as $id => $task) : ?>
  326. <?php
  327. if (!$task->_show) continue;
  328. if ($task->_task_type == 'projekt') {
  329. $ILOSC_SPRAW += 1;
  330. } else if ($task->_task_type == 'koresp') {
  331. $ILOSC_PISM += 1;
  332. } else if ($task->_task_type == 'proces') {
  333. $ILOSC_PROCES += 1;
  334. }
  335. $clsData = $przypomnij->getTaskDateFltrType($task->_l_app_date);
  336. $task_zasobID = $przypomnij->getZasobIdByType($task->_task_type);
  337. ?>
  338. <tr id="<?php echo "row-{$task->_task_type}-{$task->ID}"; ?>" class="type-<?php echo strtoupper($task->_task_type) . ' ' . $clsData; ?>">
  339. <td class="l_app_date-edit_inline" data-type="<?php echo $task->_task_type; ?>" data-rowid="<?php echo $task->ID; ?>"><strong class="l_app_date"><?php echo $task->_l_app_date; ?></strong>
  340. <div class="l_app_user">
  341. <?php if (empty($task->_l_app)) : ?>
  342. <em class="label label-important">Nieprzypisany!</em>
  343. <?php else : ?>
  344. <em><?php echo $task->_l_app; ?></em>
  345. <?php endif; ?>
  346. </div>
  347. </td>
  348. <td class="l_app_info l_app_date-edit_inline" data-type="<?php echo $task->_task_type; ?>" data-rowid="<?php echo $task->ID; ?>"><?php echo $task->L_APPOITMENT_INFO; ?></td>
  349. <td>
  350. <h5>
  351. <a href="index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID=<?php echo $task_zasobID; ?>#EDIT/<?php echo $task->ID; ?>" target="_blank" title="Edytuj rekord">
  352. <i class="ico-pencil"></i>
  353. <?php echo strtoupper($task->_task_type); ?>
  354. <?php echo $task->ID; ?>
  355. </a>
  356. <a href="index.php?MENU_INIT=VIEWTABLE_AJAX&ZASOB_ID=<?php echo $task_zasobID; ?>#FILES/<?php echo $task->ID; ?>" target="_blank" title="Pliki">
  357. <i class="ico-folder-open"></i>
  358. pliki
  359. </a>
  360. </h5>
  361. <span class="label label-A_STATUS-<?php echo $task->A_STATUS; ?>"><?php echo $task->A_STATUS; ?></span>
  362. <em><?php echo $task->_type; ?></em>
  363. </td>
  364. <td>
  365. <?php if ($task->_task_type == 'projekt' && !empty($task->M_DISTRIBUTOR)) : ?>
  366. <strong><?php echo $task->M_DISTRIBUTOR; ?></strong><br>
  367. <?php endif; ?>
  368. <?php echo $task->_title; ?>
  369. </td>
  370. <td>
  371. <?php if ($task->_task_type == 'koresp') : ?>
  372. <em><?php echo $task->K_LOKALIZACJA_OPIS; ?></em>
  373. <?php endif; ?>
  374. </td>
  375. </tr>
  376. <?php endforeach; ?>
  377. </tbody>
  378. </table>
  379. <div class="container">
  380. Ilość pism: <span id="przypomnij_stats-pisma"><?php echo $ILOSC_PISM; ?></span>,
  381. ilość spraw: <span id="przypomnij_stats-projekty"><?php echo $ILOSC_SPRAW; ?></span>,
  382. ilość procesów: <span id="przypomnij_stats-procesy"><?php echo $ILOSC_PROCES; ?></span>.
  383. </div>
  384. <div class="przypomnijInlineEditBox inlineEditBox modal hide fade" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  385. <form style="margin:0;padding:0;">
  386. <div class="modal-header">
  387. <button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon-remove"></i></button>
  388. <h3 id="myModalLabel">Edytuj</h3>
  389. </div>
  390. <div class="modal-body">
  391. <input type="hidden" name="rowid" value="">
  392. <input type="hidden" name="type" value="">
  393. <div class="inlineEditBox-cnt"></div>
  394. </div>
  395. <div class="modal-footer">
  396. <button class="btn" data-dismiss="modal" aria-hidden="true">Zamknij</button>
  397. <input type="submit" value="Zapisz" class="btn btn-primary btn-save">
  398. </div>
  399. </form>
  400. </div>
  401. <script>
  402. var _inlineEditBox;
  403. jQuery(document).ready(function(){
  404. _inlineEditBox = jQuery('.przypomnijInlineEditBox');
  405. var frmInlineEdit = _inlineEditBox.find('form');
  406. frmInlineEdit.on('submit', function() {
  407. var frmData = _inlineEditBox.find('form').serialize();
  408. var task_rowid = frmInlineEdit.find('input[name=rowid]').val();
  409. var task_type = frmInlineEdit.find('input[name=type]').val();
  410. _inlineEditBox.find('.btn-save').hide();
  411. _inlineEditBox.find('.inlineEditBox-cnt').html('<span class="loading-info"> loading ...</span>');
  412. jQuery.ajax({
  413. url: 'index.php?FUNCTION_INIT=PRZYPOMNIJ&HEADER_NOT_INIT=YES&task=AJAX_EDIT_INLINE_SAVE',
  414. type: 'POST',
  415. dataType: 'text',
  416. data: frmData,
  417. async: true,
  418. success: function (data) {
  419. //console.log('_inlineEditBox submit ajax data:', data);
  420. _inlineEditBox.find('.inlineEditBox-cnt').html(data);
  421. _inlineEditBox.find('.btn-save').hide();
  422. //TODO: reload page [or values]; publ.loadPage(_currPage);
  423. //console.log('_inlineEditBox submit ajax success');
  424. var upNode = _inlineEditBox.find('.inlineEditBox-cnt').find('.EditAppDateInlineSave');
  425. if (upNode) {
  426. var taskNode = jQuery('#row-'+task_type+'-'+task_rowid);
  427. if (upNode.find('.l_app_user').text().length > 0) {
  428. taskNode.find('.l_app_user').html('<em>'+upNode.find('.l_app_user').text()+'</em>');
  429. } else {
  430. taskNode.find('.l_app_user').html('<em class="label label-important">Nieprzypisany!</em>');
  431. }
  432. taskNode.find('.l_app_date').html(upNode.find('.l_app_date').text());
  433. taskNode.find('.l_app_info').html(upNode.find('.l_app_info').text());
  434. // .date_fltr_type
  435. var fltrTypes = <?php echo json_encode($dateFltrTypes); ?>
  436. , fltrTypeCur = ''
  437. , fltrTypeNew = upNode.find('.date_fltr_type').text();
  438. for (var i in fltrTypes) {
  439. if (taskNode.hasClass(fltrTypes[i])) {
  440. fltrTypeCur = fltrTypes[i];
  441. break;
  442. }
  443. }
  444. //console.log('fltrTypeNew', fltrTypeNew, ' fltrTypeCur', fltrTypeCur, ' fltrTypes', fltrTypes);
  445. if (fltrTypeCur == fltrTypeNew) {
  446. //console.log('fltrTypeCur == fltrTypeNew', fltrTypeCur, ' == ', fltrTypeNew);
  447. } else {
  448. //console.log('fltrTypeCur != fltrTypeNew', fltrTypeCur, ' != ', fltrTypeNew);
  449. taskNode.removeClass(fltrTypeCur);
  450. taskNode.addClass(fltrTypeNew);
  451. }
  452. }
  453. przypomnij_update_counters();
  454. },
  455. error: function (jhr, textStatus, errorThrown) {
  456. //console.log('_inlineEditBox submit ajax error');
  457. }
  458. });
  459. return false;
  460. });
  461. jQuery('.l_app_date-edit_inline').on('dblclick', function(e){
  462. var data = $(this).data();
  463. // rowid: 2266, type: "projekt"
  464. if (!data.type || !data.rowid) {
  465. return false;
  466. }
  467. _inlineEditBox.modal();
  468. _inlineEditBox.show();
  469. _inlineEditBox.find('input[name=rowid]').val(data.rowid);
  470. _inlineEditBox.find('input[name=type]').val(data.type);
  471. _inlineEditBox.find('.inlineEditBox-cnt').html('<span class="loading-info"> loading ...</span>');
  472. $.ajax({
  473. url: 'index.php?FUNCTION_INIT=PRZYPOMNIJ&HEADER_NOT_INIT=YES&task=AJAX_EDIT_INLINE',
  474. //index-ajax.php?_zasobID=_zasobID&_cls=__CLASS__&_hash=_htmlID&_task=EDIT_INLINE&ID=' + e.data.id + '&col=' + e.data.col,
  475. type: 'GET',
  476. dataType: 'text',
  477. data: data,
  478. async: true,
  479. success: function (data) {
  480. _inlineEditBox.find('.inlineEditBox-cnt').html(data);
  481. _inlineEditBox.find('.btn-save').show();
  482. _inlineEditBox.find('.se_type-date').datepicker({
  483. format: "yyyy-mm-dd"
  484. , language: 'pl'
  485. , todayBtn: "linked"
  486. });
  487. _inlineEditBox.find('.se_type-datetime').parent().datetimepicker({
  488. language: 'pl'
  489. , format: 'yyyy-MM-dd hh:mm'
  490. , weekStart: 1
  491. });
  492. _inlineEditBox.find('textarea').autosize();
  493. var fld = _inlineEditBox.find('input[id^="f"]');
  494. if (fld && !fld.hasClass('se_type-date')) {
  495. fld.focus();
  496. fld.keydown(function(event) {
  497. if (event.which == 13) {
  498. event.preventDefault();
  499. _inlineEditBox.find('form').submit();
  500. }
  501. });
  502. }
  503. },
  504. error: function (err) {
  505. console.log('err', err);
  506. }
  507. });
  508. });
  509. });
  510. </script>
  511. <?php
  512. }