예제 #1
0
 public function index(Request $request)
 {
     // Get search terms.
     $assetIdentifiers = preg_split('/(\\n|\\r)/', $request->input('identifiers', ''), null, PREG_SPLIT_NO_EMPTY);
     $this->view->identifiers = array_map('trim', $assetIdentifiers);
     $this->view->identifier = trim($request->input('identifier'));
     $this->view->tagged = $request->input('tagged');
     $this->view->not_tagged = $request->input('not_tagged');
     // No assets at all?
     if (Asset::count() === 0) {
         $this->alert('info', trans('app.no-assets-yet'), false);
     }
     // Build and execute query.
     if ($this->view->identifiers || $this->view->identifier || $this->view->tagged) {
         $assets = Asset::query();
         if (!empty($this->view->identifiers)) {
             $assets->whereIn('identifier', $this->view->identifiers);
         }
         if (!empty($this->view->identifier)) {
             $assets->where('identifier', 'LIKE', '%' . $this->view->identifier . '%');
             $this->view->quick_s = $this->view->identifier;
         }
         if ($this->view->tagged) {
             $assets->tagged($this->view->tagged);
         }
         $this->view->assets = $assets->paginate(50);
         if ($this->view->assets->total() === 0) {
             $this->alert('success', 'No assets found with the given criteria.', false);
         }
     }
     // Add extra view data, and return.
     $this->view->title = 'Assets';
     $this->view->breadcrumbs = ['assets' => 'Assets'];
     $this->view->quick_t = 'a';
     return $this->view;
 }
 protected function getAssets($request)
 {
     // Get search terms.
     $assetIdentifiers = preg_split('/(\\n|\\r)/', $request->input('identifiers', ''), null, PREG_SPLIT_NO_EMPTY);
     $identifiers = array_map('trim', $assetIdentifiers);
     $identifier = trim($request->input('identifier'));
     $tagged = $request->input('tagged');
     // Build and execute query.
     $assets = Asset::query();
     if (!empty($identifiers)) {
         $assets->whereIn('identifier', $identifiers);
     }
     if (!empty($identifier)) {
         $assets->where('identifier', 'LIKE', "%{$identifier}%");
     }
     if ($tagged) {
         $assets->tagged($tagged);
     }
     return $assets->get();
 }