browse.excel.html.hook.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace zin;
  3. global $lang, $config, $app;
  4. $product = data('product');
  5. $projectID = data('projectID');
  6. $project = data('project');
  7. $branch = data('branch');
  8. $orderBy = data('orderBy');
  9. $browseType = data('browseType');
  10. $storyType = data('storyType');
  11. if(empty($product)) return false;
  12. $isProjectStory = $app->tab == 'project';
  13. $moduleName = $isProjectStory ? 'projectstory' : $storyType;
  14. $canBeChanged = common::canModify('product', $product);
  15. if(!empty($project)) $canBeChanged = $canBeChanged && common::canModify('project', $project);
  16. $canExport = hasPriv($moduleName, 'export');
  17. $canExportTemplate = hasPriv($moduleName, 'exportTemplate');
  18. $exportLink = createLink($moduleName, 'export', "productID={$product->id}&orderBy={$orderBy}&executionID={$projectID}&browseType={$browseType}&storyType={$storyType}");
  19. $exportTemplateLink = createLink($moduleName, 'exportTemplate', "productID={$product->id}&branch={$branch}&type={$storyType}");
  20. $importLink = createLink($moduleName, 'import', "productID={$product->id}&branch={$branch}&type={$storyType}&projectID={$projectID}");
  21. $exportItem = array('text' => $lang->story->export, 'data-toggle' => 'modal', 'data-size' => 'sm','url' => $exportLink);
  22. $exportTemplateItem = array('text' => $lang->story->exportTemplate, 'data-toggle' => 'modal', 'data-size' => 'sm','url' => $exportTemplateLink);
  23. $importItem = array('text' => $lang->story->import, 'data-toggle' => 'modal', 'data-size' => 'sm','url' => $importLink);
  24. query('#exportBtn')->replaceWith(
  25. $canExport && $canExportTemplate ? dropdown
  26. (
  27. btn
  28. (
  29. setID('exportBtn'),
  30. setClass('btn ghost square dropdown-toggle'),
  31. set::icon('export')
  32. ),
  33. set::items(array($exportItem, $exportTemplateItem)),
  34. set::placement('bottom-end')
  35. ) : null,
  36. $canExport && !$canExportTemplate ? btn(setID('exportBtn'), setClass('toolbar-item ghost btn btn-default'), set::url($exportLink), set::icon('export'), setData('toggle', 'modal'), setData('size', 'sm'), $lang->story->export) : null,
  37. $canExportTemplate && !$canExport ? btn(setID('exportBtn'), setClass('toolbar-item ghost btn btn-default'), set::url($exportTemplateLink), set::icon('export'), setData('toggle', 'modal'), setData('size', 'sm'), $lang->story->exportTemplate) : null,
  38. $canBeChanged && common::hasPriv($moduleName, 'import') ? dropdown
  39. (
  40. btn
  41. (
  42. setID('importBtn'),
  43. setClass('btn ghost square dropdown-toggle'),
  44. set::icon('import')
  45. ),
  46. set::items(array($importItem)),
  47. set::placement('bottom-end')
  48. ): null
  49. );