superedit-PROCES_ADD_ZASOB.php 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708
  1. <?php
  2. /**
  3. * @param $_GET['procesID'] - id procesu
  4. *
  5. * example:
  6. * index.php?MENU_INIT=PROCES_ADD_ZASOB&procesID=3885
  7. */
  8. function PROCES_ADD_ZASOB() {
  9. $taskMsgs = array();
  10. $taskErrors = array();
  11. $task = V::get('_task', '', $_REQUEST);
  12. switch ($task) {
  13. case 'FRM_RM_ZASOB': {
  14. $procesID = V::get('procesID', 0, $_GET, 'int');
  15. $rmWskID = V::get('rmWskID', 0, $_POST, 'int');
  16. if (!$procesID || !$rmWskID) {
  17. $taskErrors[] = "Wrong param proces id or remove wskaźnik id!";
  18. }
  19. else {
  20. $db = DB::getDB();
  21. $sql_obj = new stdClass();
  22. $sql_obj->ID = $rmWskID;
  23. $sql_obj->A_STATUS = 'DELETED';
  24. $affected = $db->UPDATE_OBJ('CRM_WSKAZNIK', $sql_obj);
  25. if ($affected == 2) {
  26. $taskMsgs[] = "Usunieto wskaznik";
  27. } else if ($affected == 1) {
  28. $taskMsgs[] = "Usunieto wskaznik (nie zapisano historii)";
  29. } else if ($affected < 0) {
  30. $taskErrors[] = "Nie udało się usunąć zasobu - nic nie zmieniono";
  31. }
  32. }
  33. break;
  34. }
  35. case 'FRM_ADD_ZASOB_URL':
  36. case 'FRM_ADD_ZASOB_GROUP':
  37. case 'FRM_ADD_ZASOB_COLUMN':
  38. case 'FRM_ADD_ZASOB': {
  39. if(V::get('DBG_NG', '', $_GET)){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">post (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($_POST);echo'</pre>';}
  40. $procesID = V::get('procesID', 0, $_GET, 'int');
  41. switch ($task) {
  42. case 'FRM_ADD_ZASOB_URL': $addZasobID = V::get('addZasobUrlID', 0, $_POST, 'int'); break;
  43. case 'FRM_ADD_ZASOB_GROUP': $addZasobID = V::get('addZasobGroupID', 0, $_POST, 'int'); break;
  44. case 'FRM_ADD_ZASOB_COLUMN': $addZasobID = V::get('addZasobColumnID', 0, $_POST, 'int'); break;
  45. default: $addZasobID = V::get('addZasobID', 0, $_POST, 'int');
  46. }
  47. $addPrzypadekID = V::get('addPrzypadekID', 0, $_POST, 'int');
  48. if ($procesID > 0 && $addZasobID > 0 && $addPrzypadekID > 0) {
  49. $addComment = V::get('addComment', '', $_POST);
  50. $db = DB::getDB();
  51. $sql_obj = new stdClass();
  52. $sql_obj->ID_PROCES = $procesID;
  53. $sql_obj->ID_ZASOB = $addZasobID;
  54. $sql_obj->ID_PRZYPADEK = $addPrzypadekID;
  55. $sql_obj->OPIS_ZASOB = $db->_($addComment);
  56. $sql_obj->SORT_PRIO = 0;
  57. // nowy wskaznik na koniec listy pod procesem
  58. $sql = "select max(cw.`SORT_PRIO`) as MAX_SORT_PRIO
  59. from `CRM_WSKAZNIK` as cw
  60. where
  61. cw.`ID_PROCES`='{$sql_obj->ID_PROCES}'
  62. ";
  63. $res = $db->query($sql);
  64. while ($r = $db->fetch($res)) {
  65. $sql_obj->SORT_PRIO = $r->MAX_SORT_PRIO + 1;
  66. }
  67. $new_id = $db->ADD_NEW_OBJ('CRM_WSKAZNIK', $sql_obj);
  68. if ($new_id > 0) {
  69. $taskMsgs[] = "Dodano zasób [{$addZasobID}] do procesu [{$procesID}]";
  70. } else {
  71. $taskErrors[] = "Nie udało się dodać zasobu";
  72. }
  73. }
  74. else if (!$addPrzypadekID) {
  75. $taskErrors[] = "Brak okreśłonego uprawnienia";
  76. }
  77. else if (!$addZasobID) {
  78. $taskErrors[] = "Brak numeru zasobu";
  79. }
  80. break;
  81. }
  82. case 'TYPESPECIAL': {
  83. $DBG = ('1' == V::get('DBG', '', $_REQUEST));
  84. header("Content-type: application/json");
  85. $fld = V::get('fld', '', $_GET);
  86. switch ($fld) {
  87. case 'editZasobID':
  88. case 'addZasobUrlID':
  89. case 'addZasobGroupID':
  90. case 'addZasobColumnID':
  91. case 'addZasobID': {
  92. Lib::loadClass('TypespecialVariable');
  93. $typeSpecialZasob = TypespecialVariable::getInstance(-1, '__ZASOB');
  94. $query = V::get('q', '', $_REQUEST);
  95. $rawRows = null;
  96. $jsonData = array();
  97. // _zasob_type
  98. $queryParams = array();
  99. if ('addZasobUrlID' == $fld) {
  100. $queryParams['zasob_type_in'] = 'URL';
  101. }
  102. else if ('addZasobGroupID' == $fld) {
  103. $queryParams['zasob_type_in'] = array('STANOWISKO', 'PODMIOT');
  104. }
  105. else if ('addZasobColumnID' == $fld) {
  106. $queryParams['zasob_type_in'] = 'KOMORKA';
  107. }
  108. $rows = $typeSpecialZasob->getValuesWithExports($query, $queryParams);
  109. if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">rows('.$query.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rows);echo'</pre>';}
  110. foreach ($rows as $kID => $vItem) {
  111. $itemJson = new stdClass();
  112. $itemJson->id = $vItem->id;
  113. $itemJson->name = $vItem->param_out;
  114. if (!empty($vItem->exports)) {
  115. $itemJson->exports = $vItem->exports;
  116. }
  117. $jsonData[] = $itemJson;
  118. }
  119. echo json_encode($jsonData);
  120. break;
  121. }
  122. }
  123. exit;
  124. }
  125. case 'EDIT_WSKAZNIK_SAVE': {
  126. $procesID = V::get('procesID', 0, $_GET, 'int');
  127. $cw_id = V::get('cw_id', 0, $_GET, 'int');
  128. $editZasobID = V::get('editZasobID', 0, $_POST, 'int');
  129. $editPrzypadekID = V::get('editPrzypadekID', 0, $_POST, 'int');
  130. $editComment = V::get('editComment', '', $_POST);
  131. if (!$procesID || !$cw_id || !$editZasobID) {
  132. header('HTTP/1.0 406 Not Acceptable');
  133. echo "Wrong param proces ID or Wskaznik ID or Zasob ID!";
  134. exit;
  135. }
  136. $db = DB::getDB();
  137. if (!$db) {
  138. header('HTTP/1.0 406 Not Acceptable');
  139. echo "No DB!";
  140. exit;
  141. }
  142. $proces = $db->get_by_id('CRM_PROCES', $procesID);
  143. if (!$proces) {
  144. header('HTTP/1.0 406 Not Acceptable');
  145. echo "Proces not exists!";
  146. exit;
  147. }
  148. Lib::loadClass('ProcesHelper');
  149. $proces->_zasoby = ProcesHelper::get_wskazniki($proces->ID);
  150. if (!isset($proces->_zasoby[$cw_id])) {
  151. header('HTTP/1.0 406 Not Acceptable');
  152. echo "Wskaznik not exists!";
  153. exit;
  154. }
  155. $wskaznik = $proces->_zasoby[$cw_id];
  156. $sqlObj = new stdClass();
  157. $sqlObj->ID = $wskaznik->CW_ID;
  158. $toChange = false;
  159. if ($wskaznik->ID != $editZasobID) {
  160. $sqlObj->ID_ZASOB = $editZasobID;
  161. $toChange = true;
  162. }
  163. if ($wskaznik->ID_PRZYPADEK != $editPrzypadekID) {
  164. $sqlObj->ID_PRZYPADEK = $editPrzypadekID;
  165. $toChange = true;
  166. }
  167. if ($wskaznik->OPIS_ZASOB != $editComment) {
  168. $sqlObj->OPIS_ZASOB = $editComment;
  169. $toChange = true;
  170. }
  171. if (!$toChange) {
  172. echo 'Nie wprowadzono żadnych zmian.';
  173. }
  174. else {
  175. $ret = $db->UPDATE_OBJ('CRM_WSKAZNIK', $sqlObj);
  176. if ($ret < 0) {
  177. header('HTTP/1.0 406 Not Acceptable');
  178. echo "Wystąpiły błędy podczas zapisu zmian w bazie danych!";
  179. exit;
  180. }
  181. else if ($ret > 0) {
  182. //echo 'OK';
  183. }
  184. else {
  185. //echo 'Nie wprowadzono żadnych zmian.';
  186. }
  187. }
  188. // TODO: return json object wskaznik to fix layout without page reload
  189. header("Content-type: application/json");
  190. $data = new stdClass();
  191. $data->msg = "Zmiany wprowadzono pomyślnie";
  192. $data->wskaznik = $db->get_by_id('CRM_WSKAZNIK', $cw_id);
  193. if ($data->wskaznik->ID_ZASOB > 0) {
  194. $data->wskaznik->_zasob = $db->get_by_id('CRM_LISTA_ZASOBOW', $data->wskaznik->ID_ZASOB);
  195. }
  196. if ($data->wskaznik->ID_PRZYPADEK > 0) {
  197. $data->wskaznik->_przypadek = $db->get_by_id('CRM_PRZYPADEK', $data->wskaznik->ID_PRZYPADEK);
  198. }
  199. echo json_encode($data);
  200. exit;
  201. }
  202. case 'EDIT_WSKAZNIK': {
  203. $procesID = V::get('procesID', 0, $_GET, 'int');
  204. $cw_id = V::get('cw_id', 0, $_GET, 'int');
  205. if (!$procesID || !$cw_id) {
  206. header('HTTP/1.0 406 Not Acceptable');
  207. echo "Wrong param proces ID or Wskaznik ID!";
  208. exit;
  209. }
  210. $db = DB::getDB();
  211. if (!$db) {
  212. header('HTTP/1.0 406 Not Acceptable');
  213. echo "No DB!";
  214. exit;
  215. }
  216. $proces = $db->get_by_id('CRM_PROCES', $procesID);
  217. if (!$proces) {
  218. header('HTTP/1.0 406 Not Acceptable');
  219. echo "Proces not exists!";
  220. exit;
  221. }
  222. Lib::loadClass('ProcesHelper');
  223. $proces->_zasoby = ProcesHelper::get_wskazniki($proces->ID);
  224. if (!isset($proces->_zasoby[$cw_id])) {
  225. header('HTTP/1.0 406 Not Acceptable');
  226. echo "Wskaznik not exists!";
  227. exit;
  228. }
  229. $wskaznik = $proces->_zasoby[$cw_id];
  230. Lib::loadClass('TypespecialVariable');
  231. $typeSpecialZasob = TypespecialVariable::getInstance(-1, '__ZASOB');
  232. if (!$typeSpecialZasob) {
  233. header('HTTP/1.0 406 Not Acceptable');
  234. echo "TypeSpecial Zasob not exists!";
  235. exit;
  236. }
  237. ?>
  238. <form action="" method="POST" class="form conn_wsk-frm">
  239. <div class="form-group">
  240. <label class="col-sm-3 control-label" for="editZasobID">Zasób</label>
  241. <div class="col-sm-9">
  242. <?php
  243. $fName = 'editZasobID';
  244. $fldParams = array();
  245. $fldParams['allowCreate'] = false;
  246. $fldParams['ajaxDataUrlBase'] = "index.php?FUNCTION_INIT=" . __FUNCTION__ . "&HEADER_NOT_INIT=YES&_task=TYPESPECIAL&fld={$fName}";
  247. //$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
  248. $tsValues = $typeSpecialZasob->getEditSelectedValuesByIds($tblId = null, $id = null, $fieldName = '', $fieldValue = $wskaznik->ID);
  249. $fldParams['typespecialValue'] = (!empty($tsValues))? reset($tsValues) : '';
  250. echo $typeSpecialZasob->showFormItem($tblID = -1, $fName, $selValue = $wskaznik->ID, $fldParams);
  251. ?>
  252. </div>
  253. </div>
  254. <div class="form-group">
  255. <label class="col-sm-3 control-label" for="editPrzypadekID">Uprawnienia</label>
  256. <div class="col-sm-9">
  257. <?php
  258. $uprawnienia = array();
  259. $db = DB::getDB();
  260. $sql = "select p.* from `CRM_PRZYPADEK` as p ";
  261. $res = $db->query($sql);
  262. while ($r = $db->fetch($res)) {
  263. $uprawnienia[$r->ID] = "{$r->FORM_TREAT}: {$r->OPIS}";// {$r->NAZWA} | {$r->PYTANIE} |
  264. }
  265. ?>
  266. <select name="editPrzypadekID" class="form-control" style="width:366px;" size="6">
  267. <?php foreach($uprawnienia as $kId => $vPermLabel) : ?>
  268. <?php $sel = ($wskaznik->CW_ID_PRZYPADEK == $kId)? ' selected="selected"' : ''; ?>
  269. <option value="<?php echo $kId; ?>"<?php echo $sel; ?>><?php echo $vPermLabel; ?></option>
  270. <?php endforeach; ?>
  271. </select>
  272. </div>
  273. </div>
  274. <div class="form-group">
  275. <label class="col-sm-3 control-label" for="editComment">Komentarz</label>
  276. <div class="col-sm-9">
  277. <textarea name="editComment" cols="80" rows="6" class="form-control" style="width:354px;"><?php echo $wskaznik->OPIS_ZASOB; ?></textarea>
  278. </div>
  279. </div>
  280. <div class="form-group">
  281. <div class="col-sm-9 col-sm-offset-3">
  282. <button type="submit" class="btn btn-primary">Zapisz</button>
  283. </div>
  284. </div>
  285. </form>
  286. <?php
  287. exit;
  288. }
  289. }
  290. SE_Layout::menu();
  291. Lib::loadClass('UserActivity');
  292. Lib::loadClass('ProcesHelper');
  293. /* TODO: permy do pokazania tej funkcji
  294. $zasobID = ProcesHelper::getZasobTableID('CRM_WSKAZNIK');
  295. if ($zasobID <= 0) {
  296. echo UserActivity::showListInContainer();
  297. return;
  298. }
  299. $zasobObj = ProcesHelper::getZasobTableInfo($zasobID);
  300. if (!$zasobObj) {
  301. echo '<div class="alert alert-danger">' . "Zasob TABELA ID={$zasobID} nie istnieje" . '</div>';
  302. echo UserActivity::showSimpleList();
  303. return;
  304. }
  305. */
  306. $procesID = V::get('procesID', '', $_GET);
  307. if (!$procesID) {
  308. echo '<div class="alert alert-danger">' . "Wrong param proces ID!" . '</div>';
  309. return;
  310. }
  311. $db = DB::getDB();
  312. $proces = $db->get_by_id('CRM_PROCES', $procesID);
  313. Lib::loadClass('ProcesHelper');
  314. $proces->_zasoby = ProcesHelper::get_wskazniki($proces->ID);
  315. Lib::loadClass('TypespecialVariable');
  316. $typeSpecialZasob = TypespecialVariable::getInstance(-1, '__ZASOB');
  317. $uprawnienia = array();
  318. $db = DB::getDB();
  319. $sql = "select p.* from `CRM_PRZYPADEK` as p ";
  320. $res = $db->query($sql);
  321. while ($r = $db->fetch($res)) {
  322. $uprawnienia[$r->ID] = "{$r->FORM_TREAT}: {$r->OPIS}";// {$r->NAZWA} | {$r->PYTANIE} |
  323. }
  324. ?>
  325. <style type="text/css">
  326. .conn_wsk {}
  327. .conn_wsk .conn_wsk-list {}
  328. .conn_wsk .conn_wsk-list .conn_wsk-list_item { line-height:22px; }
  329. .conn_wsk .conn_wsk-list .conn_wsk-list_item form { display:inline; margin:0; }
  330. .conn_wsk .conn_wsk-list_item-rmBtn,
  331. .conn_wsk .conn_wsk-list_item-editBtn { /*display:none;*/ opacity:0.3; margin:0; padding:0; border:none; }
  332. .conn_wsk .conn_wsk-list_item-rmBtn { margin:0 0 0 10px; }
  333. .conn_wsk .conn_wsk-list_item-editBtn { margin:0 0 0 10px; }
  334. .conn_wsk .conn_wsk-list_item:hover .conn_wsk-list_item-rmBtn,
  335. .conn_wsk .conn_wsk-list_item:hover .conn_wsk-list_item-editBtn { /*display:inline;*/ opacity:0.6; }
  336. .conn_wsk .conn_wsk-list_item .conn_wsk-list_item-rmBtn:hover,
  337. .conn_wsk .conn_wsk-list_item .conn_wsk-list_item-editBtn:hover { /*display:inline;*/ opacity:1; }
  338. .conn_wsk-frm {}
  339. .conn_wsk .conn_wsk-opisyShowBtn { padding:0 0 0 10px; font-size:12px; font-weight:normal; color:#08C; cursor:pointer; }
  340. .conn_wsk-list_item-desc,
  341. .conn_wsk-list_item-longDesc { display:none; }
  342. .opisyShow .conn_wsk-list_item-desc,
  343. .opisyShow .conn_wsk-list_item-longDesc { display:block; }
  344. .editWskModal-loading .modal-body { padding-left:40px; background:url(./icon/loading.gif) no-repeat left top; background-position:20px 20px; }
  345. </style>
  346. <div class="container conn_wsk">
  347. <h3>Edycja procesu</h3>
  348. <blockquote>
  349. <b>Proces [<?php echo $proces->ID; ?>]</b>: <?php echo $proces->TYPE; ?> <?php echo $proces->DESC; ?>
  350. <p><?php echo $proces->OPIS; ?></p>
  351. </blockquote>
  352. <?php if (!empty($taskErrors)) : ?>
  353. <div class="alert alert-danger">
  354. <button type="button" class="close" data-dismiss="alert">×</button>
  355. <?php echo implode('<br>', $taskErrors); ?>
  356. </div>
  357. <?php endif; ?>
  358. <?php if (!empty($taskMsgs)) : ?>
  359. <div class="alert alert-success">
  360. <button type="button" class="close" data-dismiss="alert">×</button>
  361. <?php echo implode('<br>', $taskMsgs); ?>
  362. </div>
  363. <?php endif; ?>
  364. <div class="tabpanel">
  365. <ul class="nav nav-tabs" style="margin-bottom:15px;">
  366. <li role="presentation" class="active"><a href="#tab-add-connected" role="tab" data-toggle="tab">Przypisane zasoby</a></li>
  367. <?php if ($typeSpecialZasob) : ?>
  368. <li role="presentation" class="disabled"><b style="display:block;padding:10px 15px;">Dodaj:</b></li>
  369. <li role="presentation"><a href="#tab-add-stanowisko" role="tab" data-toggle="tab">Stanowisko</a></li>
  370. <li role="presentation"><a href="#tab-add-column" role="tab" data-toggle="tab">Komórkę</a></li>
  371. <li role="presentation"><a href="#tab-add-url" role="tab" data-toggle="tab">Narzędzie</a></li>
  372. <li role="presentation"><a href="#tab-add-zasob" role="tab" data-toggle="tab">Inny zasób</a></li>
  373. <?php endif; ?>
  374. </ul>
  375. <div class="tab-content">
  376. <div role="tabpanel" class="tab-pane active" id="tab-add-connected">
  377. <h5>Przypisane zasoby <em>(<?php echo (!empty($proces->_zasoby))? count($proces->_zasoby) : 0; ?>)</em>: <span class="conn_wsk-opisyShowBtn" onclick="jQuery(this).parent().parent().toggleClass('opisyShow')">+/- opisy</span></h5>
  378. <ul class="conn_wsk-list">
  379. <?php if (!empty($proces->_zasoby)) : ?>
  380. <?php foreach ($proces->_zasoby as $vZasob) : ?>
  381. <li class="conn_wsk-list_item conn_wsk-list_item-<?php echo $vZasob->CW_ID; ?>">
  382. <span class="conn_wsk-list_item-title"><?php echo $vZasob->CP_FORM_TREAT; ?> [<?php echo $vZasob->ID; ?>] <?php echo $vZasob->TYPE; ?> <b><?php echo $vZasob->DESC; ?></b></span>
  383. <form action="" method="POST" class="form-inline conn_wsk-list_item-frm-rm">
  384. <input type="hidden" name="_task" value="FRM_RM_ZASOB">
  385. <button name="rmWskID" value="<?php echo $vZasob->CW_ID; ?>" class="btn-link btn-sm conn_wsk-list_item-rmBtn" title="usuń zasób"><i class="glyphicon glyphicon-remove"></i></button>
  386. </form>
  387. <p class="conn_wsk-list_item-desc">
  388. <?php if (!empty($vZasob->OPIS)) : ?>
  389. <?php echo $vZasob->OPIS; ?>
  390. <?php endif; ?>
  391. </p>
  392. <p class="conn_wsk-list_item-longDesc">
  393. <?php if (!empty($vZasob->OPIS_ZASOB)) : ?>
  394. <?php echo $vZasob->OPIS_ZASOB; ?>
  395. <?php endif; ?>
  396. </p>
  397. </li>
  398. <?php endforeach; ?>
  399. <?php endif; ?>
  400. </ul>
  401. </div>
  402. <?php if ($typeSpecialZasob) : ?>
  403. <div role="tabpanel" class="tab-pane" id="tab-add-stanowisko">
  404. <form action="" method="POST" class="form-horizontal conn_wsk-frm">
  405. <input type="hidden" name="_task" value="FRM_ADD_ZASOB_GROUP">
  406. <div class="form-group">
  407. <label class="col-sm-3 control-label" for="addZasobGroupID">Stanowisko</label>
  408. <div class="col-sm-9">
  409. <?php
  410. $fName = 'addZasobGroupID';
  411. $fldParams = array();
  412. $fldParams['allowCreate'] = false;
  413. $fldParams['ajaxDataUrlBase'] = "index.php?FUNCTION_INIT=" . __FUNCTION__ . "&HEADER_NOT_INIT=YES&_task=TYPESPECIAL&fld={$fName}";
  414. //$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
  415. echo $typeSpecialZasob->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
  416. ?>
  417. </div>
  418. </div>
  419. <div class="form-group">
  420. <label class="col-sm-3 control-label" for="addPrzypadekID">Uprawnienia</label>
  421. <div class="col-sm-9">
  422. <select name="addPrzypadekID" style="width:366px;" size="6" class="form-control">
  423. <?php foreach($uprawnienia as $kId => $vPermLabel) : ?>
  424. <option value="<?php echo $kId; ?>"><?php echo $vPermLabel; ?></option>
  425. <?php endforeach; ?>
  426. </select>
  427. </div>
  428. </div>
  429. <div class="form-group">
  430. <label class="col-sm-3 control-label" for="addComment">Komentarz</label>
  431. <div class="col-sm-9">
  432. <textarea name="addComment" cols="80" rows="6" style="width:354px;" class="form-control"></textarea>
  433. </div>
  434. </div>
  435. <div class="form-group">
  436. <div class="col-sm-9 col-sm-offset-3">
  437. <button type="submit" class="btn btn-primary">dodaj</button>
  438. </div>
  439. </div>
  440. </form>
  441. </div>
  442. <div role="tabpanel" class="tab-pane" id="tab-add-column">
  443. <form action="" method="POST" class="form-horizontal conn_wsk-frm">
  444. <input type="hidden" name="_task" value="FRM_ADD_ZASOB_COLUMN">
  445. <div class="form-group">
  446. <label class="col-sm-3 control-label" for="addZasobColumnID">Komórka</label>
  447. <div class="col-sm-9">
  448. <?php
  449. $fName = 'addZasobColumnID';
  450. $fldParams = array();
  451. $fldParams['allowCreate'] = false;
  452. $fldParams['ajaxDataUrlBase'] = "index.php?FUNCTION_INIT=" . __FUNCTION__ . "&HEADER_NOT_INIT=YES&_task=TYPESPECIAL&fld={$fName}";
  453. //$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
  454. echo $typeSpecialZasob->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
  455. ?>
  456. </div>
  457. </div>
  458. <div class="form-group">
  459. <label class="col-sm-3 control-label" for="addPrzypadekID">Uprawnienia</label>
  460. <div class="col-sm-9">
  461. <select name="addPrzypadekID" style="width:366px;" size="6" class="form-control">
  462. <?php foreach($uprawnienia as $kId => $vPermLabel) : ?>
  463. <option value="<?php echo $kId; ?>"><?php echo $vPermLabel; ?></option>
  464. <?php endforeach; ?>
  465. </select>
  466. </div>
  467. </div>
  468. <div class="form-group">
  469. <label class="col-sm-3 control-label" for="addComment">Komentarz</label>
  470. <div class="col-sm-9">
  471. <textarea name="addComment" cols="80" rows="6" style="width:354px;" class="form-control"></textarea>
  472. </div>
  473. </div>
  474. <div class="form-group">
  475. <div class="col-sm-9 col-sm-offset-3">
  476. <button type="submit" class="btn btn-primary">dodaj</button>
  477. </div>
  478. </div>
  479. </form>
  480. </div>
  481. <div role="tabpanel" class="tab-pane" id="tab-add-url">
  482. <form action="" method="POST" class="form-horizontal conn_wsk-frm">
  483. <input type="hidden" name="_task" value="FRM_ADD_ZASOB_URL">
  484. <div class="form-group">
  485. <label class="col-sm-3 control-label" for="addZasobUrlID">Narzędzie</label>
  486. <div class="col-sm-9">
  487. <?php
  488. $fName = 'addZasobUrlID';
  489. $fldParams = array();
  490. $fldParams['allowCreate'] = false;
  491. $fldParams['ajaxDataUrlBase'] = "index.php?FUNCTION_INIT=" . __FUNCTION__ . "&HEADER_NOT_INIT=YES&_task=TYPESPECIAL&fld={$fName}";
  492. //$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
  493. echo $typeSpecialZasob->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
  494. ?>
  495. </div>
  496. </div>
  497. <div class="form-group">
  498. <label class="col-sm-3 control-label" for="addPrzypadekID">Uprawnienia</label>
  499. <div class="col-sm-9">
  500. <select name="addPrzypadekID" style="width:366px;" size="6" class="form-control">
  501. <?php foreach($uprawnienia as $kId => $vPermLabel) : ?>
  502. <option value="<?php echo $kId; ?>"><?php echo $vPermLabel; ?></option>
  503. <?php endforeach; ?>
  504. </select>
  505. </div>
  506. </div>
  507. <div class="form-group">
  508. <label class="col-sm-3 control-label" for="addComment">Komentarz</label>
  509. <div class="col-sm-9">
  510. <textarea name="addComment" cols="80" rows="6" style="width:354px;" class="form-control"></textarea>
  511. </div>
  512. </div>
  513. <div class="form-group">
  514. <div class="col-sm-9 col-sm-offset-3">
  515. <button type="submit" class="btn btn-primary">dodaj</button>
  516. </div>
  517. </div>
  518. </form>
  519. </div>
  520. <div role="tabpanel" class="tab-pane" id="tab-add-zasob">
  521. <form action="" method="POST" class="form-horizontal conn_wsk-frm">
  522. <input type="hidden" name="_task" value="FRM_ADD_ZASOB">
  523. <div class="form-group">
  524. <label class="col-sm-3 control-label" for="addZasobID">Zasób</label>
  525. <div class="col-sm-9">
  526. <?php
  527. $fName = 'addZasobID';
  528. $fldParams = array();
  529. $fldParams['allowCreate'] = false;
  530. $fldParams['ajaxDataUrlBase'] = "index.php?FUNCTION_INIT=" . __FUNCTION__ . "&HEADER_NOT_INIT=YES&_task=TYPESPECIAL&fld={$fName}";
  531. //$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
  532. echo $typeSpecialZasob->showFormItem($tblID = -1, $fName, $selValue = '', $fldParams);
  533. ?>
  534. </div>
  535. </div>
  536. <div class="form-group">
  537. <label class="col-sm-3 control-label" for="addPrzypadekID">Uprawnienia</label>
  538. <div class="col-sm-9">
  539. <select name="addPrzypadekID" style="width:366px;" size="6" class="form-control">
  540. <?php foreach($uprawnienia as $kId => $vPermLabel) : ?>
  541. <option value="<?php echo $kId; ?>"><?php echo $vPermLabel; ?></option>
  542. <?php endforeach; ?>
  543. </select>
  544. </div>
  545. </div>
  546. <div class="form-group">
  547. <label class="col-sm-3 control-label" for="addComment">Komentarz</label>
  548. <div class="col-sm-9">
  549. <textarea name="addComment" cols="80" rows="6" style="width:354px;" class="form-control"></textarea>
  550. </div>
  551. </div>
  552. <div class="form-group">
  553. <div class="col-sm-9 col-sm-offset-3">
  554. <button type="submit" class="btn btn-primary">dodaj</button>
  555. </div>
  556. </div>
  557. </form>
  558. </div>
  559. <?php endif; ?>
  560. </div>
  561. </div>
  562. </div>
  563. <!-- Modal -->
  564. <div id="editWskModal" class="modal fade editWskModal-loading" tabindex="-1" role="dialog" aria-labelledby="editWskModalLabel" aria-hidden="true">
  565. <div class="modal-dialog">
  566. <div class="modal-content">
  567. <div class="modal-header">
  568. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  569. <h3 id="editWskModalLabel">Edycja wskaźnika</h3>
  570. </div>
  571. <div class="modal-body">
  572. <p>One fine body...</p>
  573. </div>
  574. <div class="modal-footer" style="clear:both">
  575. <button class="btn" data-dismiss="modal" aria-hidden="true">Anuluj / Zamknij</button>
  576. </div>
  577. </div>
  578. </div>
  579. </div>
  580. <script>
  581. jQuery(document).ready(function() {
  582. jQuery('.conn_wsk-list_item-rmBtn').each(function(ind, n) {
  583. jQuery(n).click(function(){
  584. if (!confirm('Czy na pewno chcesz usunąć ten wskaźnik?')) {
  585. return false;
  586. }
  587. });
  588. var btn = jQuery('<button class="btn-link btn-sm conn_wsk-list_item-editBtn" title="edytuj wskaźnik"><i class="glyphicon glyphicon-edit"></i></button>');
  589. btn.data('cw_id', n.value);
  590. btn.on('click', function(e) {
  591. e.preventDefault();
  592. e.stopPropagation();
  593. var trg = jQuery(event.currentTarget),
  594. cw_id = trg.data('cw_id');
  595. if (cw_id > 0) {
  596. var modal = jQuery('#editWskModal');
  597. modal.addClass('editWskModal-loading');
  598. modal.modal();
  599. jQuery.ajax({
  600. data: null,
  601. type: "GET",
  602. url: 'index.php?FUNCTION_INIT=<?php echo __FUNCTION__; ?>&HEADER_NOT_INIT=YES&_task=EDIT_WSKAZNIK&procesID=<?php echo $proces->ID; ?>&cw_id=' + cw_id,
  603. })
  604. .done(function(data, textStatus, jqXHR){
  605. modal.find('.modal-body').html(data);
  606. modal.find('.modal-body').find('form').on('submit', function() {
  607. var frm = jQuery(this);
  608. jQuery.ajax({
  609. data: frm.serialize(),
  610. type: "POST",
  611. dataType: 'json',
  612. url: 'index.php?FUNCTION_INIT=<?php echo __FUNCTION__; ?>&HEADER_NOT_INIT=YES&_task=EDIT_WSKAZNIK_SAVE&procesID=<?php echo $proces->ID; ?>&cw_id=' + cw_id
  613. })
  614. .done(function(data, textStatus, jqXHR){
  615. if (data.msg) {
  616. modal.find('.modal-body').html('<div class="alert alert-success">' + data.msg + '</div>');
  617. } else {
  618. modal.find('.modal-body').html(data);
  619. }
  620. if (data.wskaznik) {
  621. var trgWrap = jQuery('.conn_wsk-list_item-' + cw_id),
  622. trgTitle = trgWrap.find('.conn_wsk-list_item-title'),
  623. trgDesc = trgWrap.find('.conn_wsk-list_item-desc'),
  624. trgZasobDesc = trgWrap.find('.conn_wsk-list_item-longDesc')
  625. ;
  626. if (trgTitle && trgTitle.length > 0) {
  627. var outTrgTitle = '';
  628. if (undefined !== data.wskaznik._przypadek) {
  629. if (undefined !== data.wskaznik._przypadek.FORM_TREAT) {
  630. outTrgTitle += data.wskaznik._przypadek.FORM_TREAT + ' ';
  631. }
  632. }
  633. if (undefined !== data.wskaznik._zasob) {
  634. if (undefined !== data.wskaznik._zasob.ID) outTrgTitle += '[' + data.wskaznik._zasob.ID + '] ';
  635. if (undefined !== data.wskaznik._zasob.TYPE) outTrgTitle += data.wskaznik._zasob.TYPE + ' ';
  636. if (undefined !== data.wskaznik._zasob.DESC) outTrgTitle += '<b>' + data.wskaznik._zasob.DESC + '</b>';
  637. }
  638. trgTitle.html(outTrgTitle);
  639. }
  640. if (trgDesc && trgDesc.length > 0) {
  641. if (undefined !== data.wskaznik._zasob) {
  642. if (undefined !== data.wskaznik._zasob.OPIS) {
  643. trgDesc.html(data.wskaznik._zasob.OPIS);
  644. }
  645. }
  646. }
  647. if (trgZasobDesc && trgZasobDesc.length > 0) {
  648. if (undefined !== data.wskaznik.OPIS_ZASOB) {
  649. trgZasobDesc.html(data.wskaznik.OPIS_ZASOB);
  650. }
  651. }
  652. }
  653. })
  654. .fail(function(jqXHR){// jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
  655. var txt = jqXHR.responseText || 'Error';
  656. modal.find('.modal-body').html('<div class="alert alert-danger">' + txt + '</div>');
  657. })
  658. return false;
  659. });
  660. })
  661. .fail(function(jqXHR){// jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
  662. var txt = jqXHR.responseText || 'Error';
  663. modal.find('.modal-body').html('<div class="alert alert-danger">' + txt + '</div>');
  664. })
  665. .always(function(data, textStatus, jqXHR) {
  666. modal.removeClass('editWskModal-loading');
  667. });
  668. }
  669. });
  670. btn.insertBefore(n);
  671. });
  672. });
  673. </script>
  674. <?php
  675. }