superedit-PRZYPOMNIJ.php 19 KB

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