browse.flow.html.hook.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. $queryBox = "<div class='cell" . ($mode == 'search' ? ' show' : '') . "' data-module='{$flow->module}' id='queryBox'></div>";
  3. $designLink = $lang->flow->setSearch;
  4. if(commonModel::hasPriv('workflowfield', 'setSearch')) $designLink = baseHTML::a($this->createLink('workflowfield', 'setSearch', "module={$flow->module}"), $lang->flow->setSearch, "target='_parent'");
  5. $emptySearch = "<li id='searchTab'>" . baseHTML::a('#emptySearchModal', "<i class='icon-search icon'></i>" . $lang->search->common, "data-toggle='modal'") . "</li>";
  6. $emptySearch .= "
  7. <div class='modal fade' id='emptySearchModal'>
  8. <div class='modal-dialog'>
  9. <div class='modal-content'>
  10. <div class='modal-header'>
  11. <button type='button' class='close' data-dismiss='modal'><span aria-hidden='true'>×</span></button>
  12. <h4 class='modal-title'>
  13. <span class='modal-title-name'>{$lang->search->common}</span>
  14. </h4>
  15. </div>
  16. <div class='modal-body'>
  17. <div class='alert'>" . sprintf($lang->flow->tips->emptySearchFields, $designLink) . "</div>
  18. </div>
  19. </div>
  20. </div>
  21. </div>";
  22. js::set('more', $lang->more);
  23. ?>
  24. <script>
  25. var moduleNavigator = '<?php echo $flow->navigator;?>';
  26. var moduleApp = '<?php echo $flow->app;?>';
  27. $('.main-table').before(<?php echo json_encode($queryBox);?>);
  28. $('#bysearchTab').remove();
  29. $('#searchTab').remove();
  30. if(mode == 'bysearch') $('#queryBox').addClass('show');
  31. </script>
  32. <?php
  33. $featurebar = "<div id='featurebar'><ul class='nav'>";
  34. $flowLabels = $this->dao->select('*')->from(TABLE_WORKFLOWLABEL)->where('module')->eq($flow->module)->orderBy('`order`')->fetchAll('id');
  35. foreach($flowLabels as $flowLabel)
  36. {
  37. if(!common::hasPriv($flow->module, $flowLabel->id)) continue;
  38. $class = ($mode == 'browse' && $flowLabel->id == $label) ? "class='active'" : '';
  39. $featurebar .= "<li id='browse{$flowLabel->id}' $class>" . baseHTML::a($this->createLink($flow->module, 'browse', "label={$flowLabel->id}"), $flowLabel->label) . '</li>';
  40. }
  41. if(common::hasPriv($flow->module, 'report'))
  42. {
  43. $this->app->loadLang('workflowaction');
  44. $class = $this->methodName == 'report' ? "class='active'" : '';
  45. $featurebar .= "<li id='flowReport' $class>" . baseHTML::a($this->createLink($flow->module, 'report', "module={$flow->module}"), $this->lang->workflowaction->default->actions['report']) . '</li>';
  46. }
  47. /* Check search privilege. */
  48. if(common::hasPriv($flow->module, 'search'))
  49. {
  50. if(empty($this->config->{$flow->module}->search['fields']))
  51. {
  52. $featurebar .= $emptySearch;
  53. }
  54. else
  55. {
  56. $class = $mode == 'search' ? "class='active'" : '';
  57. $featurebar .= "<li id='bysearch' $class><a class='btn btn-link querybox-toggle' id='bysearchTab'><i class='icon icon-search muted'></i> {$lang->flow->search}</a></li>";
  58. }
  59. }
  60. $featurebar .= '</ul></div>';
  61. ?>
  62. <script>
  63. $(function()
  64. {
  65. $('#main .container').prepend(<?php echo json_encode($featurebar);?>);
  66. <?php if(strpos('|product|project|qa|', "|{$flow->app}|") !== false):?>
  67. $('#pageNav .angle-btn').each(function(i)
  68. {
  69. if(i > 0) $(this).hide();
  70. })
  71. <?php endif;?>
  72. if(mode == 'bysearch') $('#bysearch').addClass('active');
  73. })
  74. </script>