IgorKorytin

Untitled

Aug 15th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 19.21 KB | None | 0 0
  1. <?php
  2. /**
  3.  *  * @author Alexandr Ivanov <[email protected]>
  4.  *  * @link http://vsdesk.ru/
  5.  *  * @copyright 2012-2016 Alexandr Ivanov
  6.  *  * @license Non Free Commercial
  7.  */
  8.  Yii::app()->clientScript->registerScript('search', "
  9.     $('.search-button').click(function(){
  10.                if(!$('.nav-tabs li:eq(0)').hasClass('active')){
  11.                    var ptab = $('.nav-tabs').find('li.active a').attr('href');
  12.                    $('.nav-tabs a:first').tab('show');
  13.                    swal({
  14.                        title: '".Yii::t('main-ui', 'Do you want to add a reply?')."',
  15.                        type: 'warning',
  16.                        showCancelButton: true,
  17.                        confirmButtonColor: '#3085d6',
  18.                        cancelButtonColor: '#d33',
  19.                        confirmButtonText: '".Yii::t('main-ui', 'Yes')."',
  20.                        cancelButtonText: '".Yii::t('main-ui', 'No')."',
  21.                      }).then(function (result) {
  22.                        if (result.value) {
  23.                            $('.comment-form').show();
  24.                            location.href = '#comment-form';
  25.                        } else {
  26.                            $('.nav-tabs a[href='+ptab+']').tab('show');
  27.                        }
  28.                      });
  29.                }
  30.                $('.comment-form').show();
  31.                location.href = '#comment-form';
  32.     });
  33. ");
  34. if(Yii::app()->user->checkAccess('prevnextRequest')){
  35.     $next_id = Request::model()->getNextOrPrevId($model->id, 'next');
  36.     $prev_id = Request::model()->getNextOrPrevId($model->id, 'prev');
  37. }
  38.  
  39. $canAccept = false;
  40. $canClose = false;
  41. $role = Roles::model()->findByAttributes(array('value' => strtolower(Yii::app()->user->role)));
  42. $status = CHtml::listData($role->status_rl, 'close', 'close');
  43. foreach ($status as $key => $value) {
  44.   if($value == 2) {
  45.     $canAccept = true;
  46.   }
  47.   if($value == 3) {
  48.     $canClose = true;
  49.   }
  50. }
  51.  
  52. $this->breadcrumbs = array(
  53.     Yii::t('main-ui', 'Tickets') => array('index'),
  54.     $model->Name,
  55. );
  56. $this->menu = array(
  57.     array(
  58.         'icon' => 'iicon iicon-list iicon-2x',
  59.         'url' => array('index'),
  60.         'itemOptions' => array('title' => Yii::t('main-ui', 'List tickets'))
  61.     ),
  62.         Yii::app()->user->checkAccess('batchUpdateStatusRequest') ? array(
  63.             'icon' => 'iicon iicon-bookmark2 iicon-2x',
  64.             'url' => 'javascript:void(0)',
  65.             'itemOptions' => array(
  66.             'data-toggle' => 'modal',
  67.             'data-target' => '#myModalSetStatus',
  68.             'title' => Yii::t('main-ui', 'Set status selected'),           
  69.             ),
  70.     ) : array(null),
  71.     Yii::app()->user->checkAccess('updateRequest') ? array(
  72.         'icon' => 'iicon iicon-pencil3 iicon-2x',
  73.         'url' => array('update', 'id' => $model->id),
  74.         'itemOptions' => array('title' => Yii::t('main-ui', 'Edit ticket'))
  75.     ) : array(null),
  76.     Yii::app()->user->checkAccess('updateRequest') ? array(
  77.         'icon' => 'iicon iicon-reply iicon-2x',
  78.         'url' => 'javascript:void(0);',
  79.         'itemOptions' => array(
  80.             'class' => 'search-button',
  81.             'title' => Yii::t('main-ui', 'Add comment'),
  82.         ),
  83.     ) : array(null),
  84.     Yii::app()->user->checkAccess('createRequest') ? array(
  85.         'icon' => 'iicon iicon-copy iicon-2x',
  86.         'url' => array('copy', 'id' => $model->id),
  87.         'itemOptions' => array('title' => Yii::t('main-ui', 'Copy request'))
  88.     ) : array(null),
  89.     Yii::app()->user->checkAccess('canAssignRequest') ? array(
  90.         'icon' => 'iicon iicon-user iicon-2x',
  91.         'url' => 'javascript:void(0);',
  92.         'itemOptions' => array(
  93.             'data-toggle' => 'modal',
  94.             'data-target' => '#myModal3',
  95.             'title' => Yii::t('main-ui', 'Assign to user'),
  96.         ),
  97.     ) : array(null),
  98.     Yii::app()->user->checkAccess('canAssignRequest') ? array(
  99.         'icon' => 'iicon iicon-users iicon-2x',
  100.         'url' => 'javascript:void(0);',
  101.         'itemOptions' => array(
  102.             'data-toggle' => 'modal',
  103.             'data-target' => '#myModal',
  104.             'title' => Yii::t('main-ui', 'Assign to group of users'),
  105.         ),
  106.     ) : array(null),
  107.     Yii::app()->user->checkAccess('canSmsRequest') ? array(
  108.         'icon' => 'comments 2x',
  109.         'url' => '#',
  110.         'itemOptions' => array(
  111.             'data-toggle' => 'modal',
  112.             'data-target' => '#myModal4',
  113.             'title' => Yii::t('main-ui', 'Send SMS to manager'),
  114.         ),
  115.     ) : array(null),
  116.     Yii::app()->user->checkAccess('canArchiveRequest') ? array(
  117.         'icon' => 'archive 2x',
  118.         'url' => array('archive', 'id' => $model->id),
  119.         'itemOptions' => array('title' => Yii::t('main-ui', 'Archive request'))
  120.     ) : array(null),
  121.     ($canAccept AND !isset($model->fStartTime)) ? array(
  122.         'icon' => 'iicon iicon-hand iicon-2x',
  123.         'url' => array('injob', 'id' => $model->id),
  124.         'itemOptions' => array('title' => Yii::t('main-ui', 'In job'))
  125.     ) : array(null),
  126.     ($canClose AND !isset($model->fEndTime)) ? array(
  127.         'icon' => 'iicon iicon-check iicon-2x',
  128.         'url' => array('inclose', 'id' => $model->id),
  129.         'itemOptions' => array('title' => Yii::t('main-ui', 'Close ticket'))
  130.     ) : array(null),
  131.     (Yii::app()->user->checkAccess('canSuspendRequest') AND ($model->previous_paused_status_id == NULL) AND !isset($model->fEndTime)) ? [
  132.         'icon' => 'iicon iicon-pause-circle iicon-2x',
  133.         'url' => ['suspend', 'id' => $model->id],
  134.         'itemOptions' => ['title' => Yii::t('main-ui', 'Suspend ticket')]
  135.     ] : [null],
  136.     (Yii::app()->user->checkAccess('canSuspendRequest') AND ($model->previous_paused_status_id !== NULL) AND !isset($model->fEndTime)) ? [
  137.         'icon' => 'iicon iicon-play-circle iicon-2x',
  138.         'url' => ['suspend', 'id' => $model->id],
  139.         'itemOptions' => ['title' => Yii::t('main-ui', 'Resume ticket')]
  140.     ] : NULL,
  141.     Yii::app()->user->checkAccess('printRequest') ? array(
  142.         'icon' => 'iicon iicon-printer iicon-2x',
  143.         'url' => '#',
  144.         'itemOptions'=>array('title'=>Yii::t('main-ui', 'Print ticket'),
  145.          'data-toggle' => 'modal',
  146.          'data-target' => '#myModal5'),
  147.         'linkOptions'=>array('target'=>'_BLANK')) : array(NULL),
  148.     (isset($next_id) AND $next_id !== NULL AND Yii::app()->user->checkAccess('prevnextRequest')) ? array(
  149.             'icon' => 'iicon iicon-chevron-left iicon-2x',
  150.             'url' => '/request/'.$next_id,
  151.             'itemOptions'=>array('title'=>Yii::t('main-ui', 'Previous ticket'), 'disabled' => $next_id?0:1)) : NULL,
  152.  
  153.     (isset($prev_id) AND $prev_id !== NULL AND Yii::app()->user->checkAccess('prevnextRequest')) ? array(
  154.                 'icon' => 'iicon iicon-chevron-right iicon-2x',
  155.                 'url' => '/request/'.$prev_id,
  156.                 'itemOptions'=>array('title'=>Yii::t('main-ui', 'Next ticket'), 'disabled' => $prev_id?0:1)): NULL
  157. );
  158.  
  159.  
  160.  
  161. ?>
  162.     <div class="page-header">
  163.         <div style="display: inline-block;"><h3>#<?php echo $model->id ?> "<?php
  164.                 if (!Yii::app()->user->checkAccess('viewMyselfRequest') AND !Yii::app()->user->checkAccess('viewMyCompanyRequest')) {
  165.                     $this->widget(
  166.                         'bootstrap.widgets.TbEditableField',
  167.                         array(
  168.                             'type' => 'text',
  169.                             'mode' => 'inline',
  170.                             'inputclass' => 'span11',
  171.                             'model' => $model,
  172.                             'attribute' => 'Name', // $model->name will be editable
  173.                             'options' => array('params' => array(Yii::app()->getRequest()->csrfTokenName => Yii::app()->getRequest()->csrfToken)),
  174.                             'url' => $this->createUrl('updName', array('id' => $model->id)), //url for submit data
  175.                             'success' => 'js: function(data) {
  176.                                    location.reload();
  177.                                    }'
  178.                         )
  179.                     );
  180.                 } else {
  181.                     echo $model->Name;
  182.                 }
  183.                 ?>"</h3>
  184.         </div>
  185.     </div>
  186.  
  187.  
  188.     <div class="box">
  189.         <div class="box-body">
  190.             <?php $this->widget('bootstrap.widgets.TbMenu', array(
  191.                 'type' => 'pills',
  192.                 'items' => $this->menu,
  193.             )); ?>
  194.             <?php $this->widget('bootstrap.widgets.TbAlert', array(
  195.                 'block' => true,
  196.                 'fade' => true,
  197.                 'closeText' => '×',
  198.             )); ?>
  199.             <br/>
  200.             <?php $this->widget(
  201.                 'bootstrap.widgets.TbTabs',
  202.                 [
  203.                     'type' => 'tabs', // 'tabs' or 'pills'
  204.                     'encodeLabel' => false,
  205.                     'tabs' => array_filter([
  206.                         [
  207.                             'label' => Yii::t('main-ui', 'Description'),
  208.                             'content' => $this->renderPartial('_view', [
  209.                                 'model' => $model,
  210.                                 'files' => $files,
  211.                                 'mphone' => $mphone,
  212.                                 'memail' => $memail,
  213.                                 'mposition' => $mposition,
  214.                                 'subs' => $subs
  215.                             ], true),
  216.                             'active' => true
  217.                         ],
  218.                         $unit ? [
  219.                             'label' => Yii::t('main-ui', 'Assigned units'),
  220.                             'content' => $this->renderPartial('_cunits', ['unit' => $unit], true)
  221.                         ] : null,
  222.                         $merged ? [
  223.                             'label' => Yii::t('main-ui', 'Merged items') . ' ' . $model->child,
  224.                             'content' => $this->renderPartial('_merged',
  225.                                 ['merged' => $merged, 'pid' => $model->id], true)
  226.                         ] : null,
  227.                         ($user AND !Yii::app()->user->checkAccess('systemUser') )? [
  228.                             'label' => Yii::t('main-ui', 'Customer'),
  229.                             'content' => $this->renderPartial('_user', ['user' => $user], true)
  230.                         ] : null,
  231.                         ($company AND !Yii::app()->user->checkAccess('systemUser') )? [
  232.                             'label' => Yii::t('main-ui', 'Company'),
  233.                             'content' => $this->renderPartial('_company', ['company' => $company, 'contracts' => $contracts], true)
  234.                         ] : null,
  235.                         Yii::app()->user->checkAccess('viewHistoryRequest') ? [
  236.                             'label' => Yii::t('main-ui', 'Ticket history'),
  237.                             'content' => $this->renderPartial('_history', ['history' => $history], true)
  238.                         ] : null,
  239.                         (Yii::app()->user->checkAccess('canStartTWSession') && (bool)Yii::app()->params['TeamViewerEnabled']) ? [
  240.                             'label' => Yii::t('main-ui', 'TeamViewer'),
  241.                             'content' => $this->renderPartial('_teamviewer', ['model' => $model], true)
  242.                         ] : null,
  243.                         (Yii::app()->user->checkAccess('viewCalls') && $call) ? [
  244.                             'label' => Yii::t('main-ui', 'Call'),
  245.                             'content' => $this->renderPartial('_call', ['model' => $call], true)
  246.                         ] : null,
  247.                     ]),
  248.                 ]
  249.             ); ?>
  250.         </div>
  251.     </div>
  252. <?php if(Yii::app()->user->checkAccess('canAssignRequest')): ?>
  253. <?php $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', [
  254.         'id' => 'adduser-form2',
  255.         'enableAjaxValidation' => false,
  256.         'action' => Yii::app()->createUrl('/request/assignGroup', ['id' => $model->id]),
  257.     ]); ?>
  258.     <?php $this->beginWidget('bootstrap.widgets.TbModal', array('id' => 'myModalSetStatus')); ?>
  259.     <div class="modal-header">
  260.         <a class="close" data-dismiss="modal">&times;</a>
  261.         <h4><?php echo Yii::t('main-ui', 'Set status selected'); ?></h4>
  262.     </div>
  263.     <div class="modal-body">
  264.     <label class="required" for="merge-list"><b>Изменить статус</b></label>
  265.         <div class="row-fluid">
  266.             <?php
  267.             $role = Roles::model()->findByAttributes(array('value' => strtolower(Yii::app()->user->role)));
  268.             $list_data = CHtml::listData($role->status_rl, 'name', 'name');
  269.             echo CHtml::dropDownList('Status', null, $list_data, array('class' => 'span12'));
  270.             ?>
  271.         </div>
  272.       </div>
  273.     <div class="modal-footer">
  274.         <?php $this->widget('bootstrap.widgets.TbButton',
  275.         array('label' => 'Изменить статус', 'type' => 'primary', 'id' => 'btnSetStatus')); ?>
  276.     </div>
  277.  
  278. <?php $this->endWidget(); ?>   
  279.  
  280.  
  281.  
  282. <?php
  283. if (Yii::app()->user->checkAccess('updateRequest')) {
  284.     Yii::app()->clientScript->registerScript('setstatus', '
  285.       $("#btnSetStatus").click(function() {
  286.           var checked=$("#request").val();
  287.           var status=$("#Status").val();
  288.           var user="' . Yii::app()->user->name . '";
  289.           $.ajax({
  290.                data:{checked:checked,status:status,user:user},
  291.                url:"' . CHtml::normalizeUrl(array('Request/setStatus')) . '",
  292.                success:function (e) {
  293.                   jQuery("#myModalSetStatus").modal("toggle");
  294.               }
  295.            });
  296.        });
  297.   ');
  298. }
  299. ?>
  300.  
  301.  
  302. <?php $this->beginWidget('bootstrap.widgets.TbModal', array('id' => 'myModal')); ?>
  303.     <div class="modal-header">
  304.         <a class="close" data-dismiss="modal">&times;</a>
  305.         <h4><?php echo Yii::t('main-ui', 'Выберите группу исполнителей'); ?></h4>
  306.     </div>
  307.     <div class="modal-body">
  308.         <div class="row-fluid">
  309.             <?php $this->widget(
  310.                 'bootstrap.widgets.TbSelect2',
  311.                 [
  312.                     'model' => $model,
  313.                     'name' => 'groups_id',
  314. //                    'data' => Groups::allByService($model->service_id),
  315.                     'data' => Groups::allByService2($model),
  316.                     'htmlOptions' => [
  317.                         'class' => 'span12',
  318.                     ],
  319.                 ]
  320.             ); ?>
  321.         </div>
  322.       </div>
  323.     <div class="modal-footer">
  324.         <?php $this->widget('bootstrap.widgets.TbButton', array(
  325.             'buttonType' => 'submit',
  326.             'type' => 'primary',
  327.             'label' => Yii::t('main-ui', 'Assign'),
  328.         )); ?>
  329.         <?php $this->widget('bootstrap.widgets.TbButton', array(
  330.             'label' => Yii::t('main-ui', 'Cancel'),
  331.             'url' => '#',
  332.             'htmlOptions' => array('data-dismiss' => 'modal'),
  333.         )); ?>
  334.     </div>
  335. <?php $this->endWidget(); ?>
  336. <?php $this->endWidget(); ?>
  337.  
  338. <?php $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', [
  339.     'id' => 'adduser-form3',
  340.     'enableAjaxValidation' => false,
  341.     'action' => Yii::app()->createUrl('/request/assign', ['id' => $model->id]),
  342.     ]); ?>
  343. <?php $this->beginWidget('bootstrap.widgets.TbModal', ['id' => 'myModal3']); ?>
  344.     <div class="modal-header">
  345.         <a class="close" data-dismiss="modal">&times;</a>
  346.         <h4><?php echo Yii::t('main-ui', 'Выберите пользователя'); ?></h4>
  347.     </div>
  348.     <div class="modal-body">
  349.         <div class="row-fluid">
  350.             <?php $this->widget(
  351.                 'bootstrap.widgets.TbSelect2',
  352.                 [
  353.                     'model' => $model,
  354.                     'name' => 'users',
  355. //                    'data' => CUsers::all(),
  356.                     'data' => CUsers::allByService($model),
  357.                     'htmlOptions' => [
  358.                         'class' => 'span12',
  359.                     ],
  360.                 ]
  361.             ); ?>
  362.         </div>
  363.     </div>
  364.  
  365.     <div class="modal-footer">
  366.         <?php $this->widget('bootstrap.widgets.TbButton', [
  367.             'buttonType' => 'submit',
  368.             'type' => 'primary',
  369.             'label' => Yii::t('main-ui', 'Assign'),
  370.         ]); ?>
  371.         <?php $this->widget('bootstrap.widgets.TbButton', array(
  372.             'label' => Yii::t('main-ui', 'Cancel'),
  373.             'url' => '#',
  374.             'htmlOptions' => array('data-dismiss' => 'modal'),
  375.         )); ?>
  376.     </div>
  377. <?php $this->endWidget(); ?>
  378. <?php $this->endWidget(); ?>
  379. <?php endif; ?>
  380. <?php if(Yii::app()->user->checkAccess('canSmsRequest')): ?>
  381. <?php $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
  382.     'id' => 'senditem-form',
  383.     'action' => Yii::app()->createUrl('/request/sendsms', array('id' => $model->id)),
  384. )); ?>
  385. <?php $this->beginWidget('bootstrap.widgets.TbModal', array('id' => 'myModal4')); ?>
  386.     <div class="modal-header">
  387.         <a class="close" data-dismiss="modal">&times;</a>
  388.         <h4><?php echo Yii::t('main-ui', 'Send SMS to manager'); ?></h4>
  389.     </div>
  390.     <div class="modal-body">
  391.         <div class="row-fluid">
  392.             <?php
  393.             $comment = new Comments();
  394.             echo $form->textAreaRow($comment, 'comment', array('rows' => 6, 'cols' => 50, 'class' => 'span12'));
  395.             ?>
  396.         </div>
  397.     </div>
  398.  
  399.     <div class="modal-footer">
  400.         <?php $this->widget('bootstrap.widgets.TbButton', array(
  401.             'buttonType' => 'submit',
  402.             'type' => 'primary',
  403.             'label' => Yii::t('main-ui', 'Send'),
  404.         )); ?>
  405.         <?php $this->widget('bootstrap.widgets.TbButton', array(
  406.             'label' => Yii::t('main-ui', 'Cancel'),
  407.             'url' => '#',
  408.             'htmlOptions' => array('data-dismiss' => 'modal'),
  409.         )); ?>
  410.     </div>
  411. <?php $this->endWidget(); ?>
  412. <?php $this->endWidget(); ?>
  413. <?php endif; ?>
  414. <?php if(Yii::app()->user->checkAccess('printRequest')): ?>
  415. <?php $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
  416.     'id' => 'adduser-form4',
  417.     'enableAjaxValidation' => false,
  418.     'action' => Yii::app()->createUrl('/request/printform', array('id' => $model->id)),
  419. )); ?>
  420. <?php $this->beginWidget('bootstrap.widgets.TbModal', array('id' => 'myModal5')); ?>
  421. <div class="modal-header">
  422.     <a class="close" data-dismiss="modal">&times;</a>
  423.     <h4><?php echo Yii::t('main-ui', 'Select print form template'); ?></h4>
  424. </div>
  425. <div class="modal-body">
  426.     <div class="row-fluid">
  427.         <?php $this->widget(
  428.             'bootstrap.widgets.TbSelect2',
  429.             array(
  430.                 'model' => $model,
  431.                 'name' => 'template_id',
  432.                 'data' => CHtml::listData(UnitTemplates::model()->findAllByAttributes(array('type'=>3)), 'id', 'name'),
  433.                 'htmlOptions' => array(
  434.                     'class' => 'span12',
  435.                 ),
  436.             )
  437.         ); ?>
  438.     </div>
  439. </div>
  440.  
  441. <div class="modal-footer">
  442.     <?php $this->widget('bootstrap.widgets.TbButton', array(
  443.         'buttonType' => 'submit',
  444.         'type' => 'primary',
  445.         'label' => Yii::t('main-ui', 'Print'),
  446.     )); ?>
  447.  
  448.     <?php $this->widget('bootstrap.widgets.TbButton', array(
  449.         'label' => Yii::t('main-ui', 'Cancel'),
  450.         'url' => '#',
  451.         'htmlOptions' => array('data-dismiss' => 'modal'),
  452.     )); ?>
  453. </div>
  454. <?php $this->endWidget(); ?>
  455. <?php $this->endWidget(); ?>
  456. <?php endif; ?>
Advertisement
Add Comment
Please, Sign In to add comment