Пример #1
0
 public function createIfNotExists($name)
 {
     $item = OrderStatus::firstOrNew(['name' => $name]);
     if (!$item->id) {
         $item->save();
     }
 }
Пример #2
0
 public function canPrintState()
 {
     return $this->order_status_id == OrderStatus::Approved()->id;
 }
 /**
  * @param $filter
  * @param $user
  *
  * @return array
  */
 public function getOrderList(&$filter, $subfilter, $user)
 {
     $orderModel = config('order.order_model');
     $q = $orderModel::with('proofOfTransfer', 'user', 'customer', 'proofOfTransfer.billplzResponses', 'orderStatus', 'orderItems', 'orderItems.product');
     if ($filter == 'draft' || $filter == 'unpaid') {
         $q = $q->where('order_status_id', '=', OrderStatus::Draft()->id);
     } else {
         $q = $q->where('order_status_id', '<>', OrderStatus::Draft()->id);
     }
     if ($subfilter == 'hq') {
         $q = $q->where('is_hq', '=', true)->where('organization_id', Organization::HQ()->id);
     } elseif ($subfilter == 'org') {
         $q = $q->where('is_hq', '=', false)->where('organization_id', $user->organization_id);
     } elseif ($subfilter == 'pl') {
         $q = $q->where('is_hq', '=', false)->where('organization_id', '<>', Organization::HQ()->id);
     } elseif ($subfilter == 'hq+org') {
         $q = $q->where('organization_id', '=', Organization::HQ()->id);
     } elseif ($subfilter == 'me') {
         $q = $q->where('user_id', '=', $user->id);
     }
     if ($filter == 'unapproved' || $filter == 'late-approvals') {
         $q = Order::whereNotApproved($q);
     } elseif ($filter == 'unfulfilled') {
         $q = Order::whereNotFulfilled($q);
     } elseif ($filter == 'fulfilled') {
         $q = Order::whereFulfilled($q);
     } elseif ($filter == 'approved') {
         $q = Order::whereNotFulfilled($q);
     } elseif ($filter == 'shipped') {
         $q = Order::whereShipped($q);
     }
     if ($user->access()->manager || $user->access()->staff) {
     }
     if ($filter == 'me' || $filter == 'down-line') {
         $userIds = User::userIdsForFilter($filter);
         $q = $q->whereIn('user_id', $userIds);
         return $q;
     } elseif ($user->access()->manager || $user->access()->staff) {
         if ($user->access()->staff) {
             $q = $q->where('created_at', '<=', 'DATE_SUB(CURDATE(), INTERVAL' . \Config::get('staff.canView') . ' ' . \Config::get('staff.system') . ')');
         }
         if ($filter == 'unapproved' || $filter == 'late-approvals') {
             $q = $q->where('created_at', '<=', 'DATE_SUB(CURDATE(), INTERVAL 1 WEEK)');
         }
         return $q;
     } else {
         return $q;
     }
 }