</div> <div class="col-xs-5"> <h2><?php echo CHtml::encode($model->ticket_title); ?> </h2> <div class="project_meta_details"> <?php $orderDetails = Orders::model()->findByAttributes(array("order_id" => $model->order_id)); $Total_amount = $orderDetails['currency'] . " " . $orderDetails['order_total']; $attrList = json_decode($orderDetails['order_Data']); $coupon_id = $orderDetails['coupon_id']; $couponDetails = Coupons::model()->findByAttributes(array("id" => $coupon_id)); $clientInfo = $attrList->userdata; $days = round($attrList->numofworkingday / 8); $fwdby = TicketAssign::model()->findByAttributes(array('ticket_id' => $ticket_id, 'fwd_to' => Yii::app()->session['user_data']['user_id'], 'status' => 1)); $fwd_name = ''; if (!empty($fwdby)) { $fwd_name = ucfirst(Users::model()->getUserName($fwdby->fwd_by)); } ?> <p>Client: <strong><a href=""></a> <?php echo ucfirst(Users::model()->getUserName($orderDetails['client_id'])); ?> </strong></p> <p>Priority: <strong><?php echo ucfirst($attrList->order->priority); ?> </strong></p> <p>Working Day(s): <strong><?php
/** * Retrieves a list of models based on the current search/filter conditions. * * Typical usecase: * - Initialize the model fields with values from filter form. * - Execute this method to get CActiveDataProvider instance which will filter * models according to data in model fields. * - Pass data provider to CGridView, CListView or any similar widget. * * @return CActiveDataProvider the data provider that can return the models * based on the search/filter conditions. */ public function search() { // @todo Please modify the following code to remove attributes that should not be searched. $criteria = new CDbCriteria(); $client_name = isset($_GET['Ticket']['clientname']) ? $_GET['Ticket']['clientname'] : ''; $criteria->compare('ticket_id', trim($this->ticket_id), true); $criteria->compare('candidate_key', trim($this->candidate_key), true); $criteria->compare('ticket_title', trim($this->ticket_title), true); if (!empty($client_name)) { $clients = Users::model()->getAllClients($client_name); //print_r($clients); $clientsList = implode(",", $clients); $ordlists = Orders::model()->findAllByAttributes(array(), 'client_id in (' . $clientsList . ')'); $ordlist = array(); foreach ($ordlists as $single) { $ordlist[] = $single->order_id; } $criteria->AddInCondition('order_id', $ordlist); } else { $criteria->compare('order_id', trim($this->order_id)); } $criteria->compare('description', trim($this->description), true); $criteria->compare('department_id', $this->department_id); $criteria->compare('ticket_resolve_date', $this->ticket_resolve_date, true); $criteria->compare('ticket_status', $this->ticket_status); $criteria->compare('closed_at', $this->closed_at, true); $criteria->compare('closed_by', $this->closed_by); $criteria->compare('read_by', $this->read_by, true); $criteria->compare('read', $this->read, true); $criteria->compare('close_reason', $this->close_reason, true); $criteria->compare('created_date', $this->created_date, true); $criteria->compare('updated_date', $this->updated_date, true); if (!in_array(Yii::app()->session['user_data']['user_role_type'], array(0, 1, 2))) { $ticketList = TicketAssign::model()->getTicketbyUser(Yii::app()->session['user_data']['user_id']); $ticket_ids = array(); foreach ($ticketList as $ticket) { $ticket_ids[] = $ticket['ticket_id']; } if (!empty($ticket_ids)) { $criteria->AddInCondition('ticket_id', $ticket_ids); } else { if (!isset($_GET['clientsTicket'])) { $criteria->addCondition('ticket_id==0'); } } // if (!isset($_GET['clientsTicket'])) { // $criteria->AddCondition('ticket_status !=1'); // } } else { if (isset($_GET['user_id'])) { $ticketList = TicketAssign::model()->getTicketbyUser(Yii::app()->session['user_data']['user_id']); $ticket_ids = array(); foreach ($ticketList as $ticket) { $ticket_ids[] = $ticket['ticket_id']; } if (!empty($ticket_ids)) { $criteria->AddInCondition('ticket_id', $ticket_ids); } else { $criteria->Addcondition('ticket_id==0'); } } } if (isset($_GET['ts'])) { if (isset($_GET['Ticket']['ticket_status'])) { $_GET['ts'] = $_GET['Ticket']['ticket_status']; } $ts = $_GET['ts']; if ($ts) { $criteria->AddCondition('ticket_status ==' . $ts); } } if (isset($_GET['client'])) { $client_id = base64_decode($_GET['client']); $order_ids = Ticket::Orderlistbyclients($client_id); if (!empty($order_ids)) { $criteria->AddInCondition('order_id', $order_ids); } else { $criteria->Addcondition('order_id==0'); } } if (isset($_GET['clientsTicket'])) { $client_id = base64_decode($_GET['clientsTicket']); $order_ids = Ticket::Orderlistbyclients($client_id); if (!empty($order_ids)) { $criteria->AddInCondition('order_id', $order_ids); } else { $criteria->Addcondition('order_id==0'); } } return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'ticket_id DESC'), 'pagination' => array('pageSize' => 20))); }
public function getClientAssigneeList($id) { $assigneeList = TicketAssign::model()->findAllByAttributes(array("ticket_id" => $id, "status" => 1, 'user_role_type' => 5), array('condition' => 'fwd_to!=:id', 'params' => array('id' => Yii::app()->session['user_data']['user_id']))); if (!empty($assigneeList)) { $str = '<table class = "table table-bordered table-striped" > <tr><th style = "width:20px;" > #</th><th>Name</th><th>Email ID</th><th>Role</th><th style="max-width:120px;">Department</th><th>Assigned by</th><th style="width:60px;">Action</th></tr>'; $count = 1; foreach ($assigneeList as $list) { $userinfo = Users::model()->findByAttributes(array('user_id' => $list['fwd_to'])); $str .= '<tr > <td> ' . $count++ . ' </td> <td>' . $userinfo['user_name'] . '</td> <td>' . $userinfo['user_email'] . '</td> <td>' . UserRoles::model()->getRoleName($userinfo["user_role_type"]) . '</td> <td>' . Department::model()->getDepartmentName($userinfo['user_department_id']) . '</td> <td>' . Users::model()->getUserName($list['fwd_by']) . '</td>'; if (Yii::app()->session['user_data']['user_id'] == $list['fwd_by']) { $str .= '<td><a class="removeUser" data="' . $userinfo['user_id'] . '" title="Remove assign User" href="javascript:"><i class="fa fa-times" ></i></a></td></tr>'; } else { $str .= '<td></td></tr>'; } } $str .= '</table>'; } else { $str .= '<div class = "norecord col-sm-12">No users assigned.</div>'; } return $str; }
<?php $user_role_type = Yii::app()->session['user_data']['user_role_type']; $modulist = ModulePermission::getAllmoduleList($user_role_type); $ticketList = TicketAssign::model()->getTicketbyUser(Yii::app()->session['user_data']['user_id']); //print_r($ticketList); if (Yii::app()->session['user_data']['user_role_type'] == 5) { $orderlist = Ticket::Orderlistbyclients(Yii::app()->session['user_data']['user_id']); $ticketList = new CDbCriteria(); $ticketList->select = 'ticket_id'; $ticketList->addInCondition("order_id", $orderlist); $ticketList = Ticket::model()->findAll($ticketList); } $ticket_ids = array(); foreach ($ticketList as $ticket) { $ticket_ids[] = $ticket['ticket_id']; } $tickList = implode(',', $ticket_ids); ?> <div class="page-content"> <!-- begin PAGE TITLE AREA --> <!-- Use this section for each page's title and breadcrumb layout. In this example a date range picker is included within the breadcrumb. --> <div class="row"> <div class="col-lg-12"> <div class="page-title"> <h1>Dashboard <small>Content Overview</small> </h1> <!-- <ol class="breadcrumb">
public function actionGetOrderlList() { $data = $_REQUEST; $result = array(); $newResult = array(); if (!empty($data)) { $limit = 20; $page = $data['page']; $offset = ($page - 1) * $limit; $user_id = $data['Client']; $category = $data['category']; $status = $data['order_status']; $start_date = $data['start_date']; $end_date = $data['end_date']; $condition = ""; if (!empty($start_date)) { $condition = "created_date >= '{$start_date}' AND created_date <= '{$end_date} 23:59:59'"; } if (!empty($category)) { if (!empty($condition)) { $condition .= " AND "; } $condition .= " ticket_title = '" . $category . "'"; } if (!in_array(Yii::app()->session['user_data']['user_role_type'], array(0, 1, 2))) { $ticketList = TicketAssign::model()->getTicketbyUser(Yii::app()->session['user_data']['user_id']); $ticket_ids = array(); foreach ($ticketList as $ticket) { $ticket_ids[] = $ticket['ticket_id']; } if (!empty($ticket_ids)) { if (!empty($condition)) { $condition .= " AND "; } $ticket_ids = implode($ticket_ids, ","); $condition .= 'ticket_id in (' . $ticket_ids . ')'; } else { if (!empty($condition)) { $condition .= " AND "; } $condition .= 'ticket_id i=0'; } if (!empty($condition)) { $condition .= " AND "; } $condition .= "ticket_status != 1 "; } // echo $condition;die; $orderTotal = count(Ticket::model()->findAllByAttributes(array(), array("condition" => $condition))); $orderList = Ticket::model()->findAllByAttributes(array(), array("condition" => $condition, 'limit' => $limit, "offset" => $offset)); $count = 0; foreach ($orderList as $val) { if (!empty($user_id)) { $orderDetails = Orders::model()->findByAttributes(array("order_id" => $val['order_id'], "client_id" => $user_id)); } else { $orderDetails = Orders::model()->findByAttributes(array("order_id" => $val['order_id'])); } $paymentD = json_decode($orderDetails['order_payment']); if (!empty($orderDetails)) { if (!empty($status)) { if ($paymentD->payment_status == $status) { $result[] = array("order_id" => $orderDetails['order_id'], "url" => Yii::app()->createUrl("ticket/view", array("id" => base64_encode($val['ticket_id']))), "client" => Users::model()->getUserName($orderDetails['client_id']), "amount" => $orderDetails['order_total'], "category" => $val['ticket_title'], "status" => $paymentD->payment_status, 'date' => date('d M Y @ g:i A', strtotime($val['created_date']))); } else { $count++; } } else { $result[] = array("order_id" => $orderDetails['order_id'], "url" => Yii::app()->createUrl("ticket/view", array("id" => base64_encode($val['ticket_id']))), "client" => Users::model()->getUserName($orderDetails['client_id']), "amount" => $orderDetails['order_total'], "category" => $val['ticket_title'], "status" => $paymentD->payment_status, 'date' => date('d M Y @ g:i A', strtotime($val['created_date']))); } } else { $count++; } } if (!empty($orderList) && !empty($result)) { $newResult['pagination'] = $this->actionCreatePager($orderTotal - $count, $limit, $page); $newResult['records'] = $result; } } echo json_encode($newResult); }
public function getTicketbyUser($user_id) { if (isset($_GET['user_id'])) { $fwd_by = base64_decode($_GET['user_id']); $result = TicketAssign::model()->findAllByAttributes(array('fwd_to' => $fwd_by, 'status' => 1)); } else { $result = TicketAssign::model()->findAllByAttributes(array('fwd_to' => $user_id, 'status' => 1)); } return $result; }
function actionEmailChangeTicketStatus() { $template = Template::getTemplate('ticket_status_changed_mail_template_'); $subject = $template->template_subject; $message = $template->template_content; $results = TicketChangeLog::model()->findAllByAttributes(array(), array('condition' => 'send_mail = :send_mail', 'params' => array('send_mail' => 0))); foreach ($results as $users) { $userdata['user_by'] = Users::model()->getUserName($users->user_id); $userInfo = Users::model()->findByPk($user->fwd_to); $ticket_id = $users->ticket_id; $remark = $users->remark; $userdata['user_by'] = Users::model()->getUserName($users->user_id); $userdata['remark'] = $remark; $userdata['ticket_status_name'] = TicketStatus::model()->getStatusName($users->status_id); $userdata['ticket_id'] = $ticket_id; $userdata['ticket_link'] = Utils::getBaseUrl() . "/ticket/view/" . base64_encode($ticket_id); $assignee = TicketAssign::model()->findAllByAttributes(array(), array('condition' => 'ticket_id = :ticket_id AND fwd_to !=:user_id AND status=1 ', 'params' => array('ticket_id' => $ticket_id, user_id => $users->user_id))); $assigneeby = TicketAssign::model()->findAllByAttributes(array(), array('condition' => 'ticket_id = :ticket_id AND fwd_by !=:user_id AND status=1 ', 'params' => array('ticket_id' => $ticket_id, user_id => $users->user_id), 'group' => "fwd_by")); // For Assignee mail foreach ($assignee as $user) { $userInfo = Users::model()->findByPk($user->fwd_to); $userdata['user_name'] = $userInfo->user_name; $subject = $this->replace($userdata, $subject); $message = $this->replace($userdata, $message); $this->SendMail($userInfo->user_email, $userInfo->user_name, $subject, $message); } // this is fowwarded by foreach ($assigneeby as $user) { $userInfo = Users::model()->findByPk($user->fwd_by); $userdata['user_name'] = $userInfo->user_name; $subject = $this->replace($userdata, $subject); $message = $this->replace($userdata, $message); $this->SendMail($userInfo->user_email, $userInfo->user_name, $subject, $message); } $model = TicketChangeLog::model()->findByPk($users->id); $model->send_mail = 1; $model->update(); } }
public function actionCustomSearch() { $restrictedUsers = array(); $restrictedUsers = $_POST['restrictedUsers']; $ticket_id = $_POST['ticket_id']; $assigneeList = TicketAssign::model()->findAllByAttributes(array("ticket_id" => $ticket_id, "status" => 1)); foreach ($assigneeList as $row) { $restrictedUsers[] = $row['fwd_to']; } $username = $_POST['username']; $deparment = $_POST['department']; $emailid = $_POST['email_id']; $userList = Users::model()->getFilterUser($username, $deparment, $restrictedUsers, $emailid); if (!empty($userList)) { foreach ($userList as $row) { $userlist[$row['user_id']] = $row['user_name'] . " (" . $row['user_email'] . ", " . UserRoles::model()->getRoleName($row['user_role_type']) . ")"; } echo CHtml::checkBoxList('userlist', '', $userlist, array('template' => '<div class="col-sm-6 removeBR">{input} {label}</div>', 'class' => 'selectAssignee')); } else { echo "<div class='col-md-12'><div class='alert alert-danger'>No users found. </div></div>"; } }