Inheritance diagram for App\Models\Consumable:

Public Member Functions

 admin ()
 
 consumableAssigments ()
 
 company ()
 
 location ()
 
 category ()
 
 assetlog ()
 Get action logs for this consumable. More...
 
 users ()
 
 hasUsers ()
 
 requireAcceptance ()
 
 getEula ()
 
 numRemaining ()
 
 scopeTextSearch ($query, $search)
 Query builder scope to search on text. More...
 
 scopeOrderCategory ($query, $order)
 Query builder scope to order on company. More...
 
 scopeOrderLocation ($query, $order)
 Query builder scope to order on company. More...
 
 scopeOrderCompany ($query, $order)
 Query builder scope to order on company. More...
 

Public Attributes

 $rules
 Category validation rules. More...
 

Protected Attributes

 $dates = ['deleted_at']
 
 $table = 'consumables'
 
 $injectUniqueIdentifier = true
 
 $fillable = ['name','qty','company_id','category_id']
 

Detailed Description

Definition at line 14 of file Consumable.php.

Member Function Documentation

App\Models\Consumable::admin ( )

Definition at line 52 of file Consumable.php.

53  {
54  return $this->belongsTo('\App\Models\User', 'user_id');
55  }
App\Models\Consumable::assetlog ( )

Get action logs for this consumable.

Definition at line 80 of file Consumable.php.

81  {
82  return $this->hasMany('\App\Models\Actionlog', 'consumable_id')->where('asset_type', '=', 'consumable')->orderBy('created_at', 'desc')->withTrashed();
83  }
App\Models\Consumable::category ( )

Definition at line 72 of file Consumable.php.

73  {
74  return $this->belongsTo('\App\Models\Category', 'category_id');
75  }
App\Models\Consumable::company ( )

Definition at line 62 of file Consumable.php.

63  {
64  return $this->belongsTo('\App\Models\Company', 'company_id');
65  }
App\Models\Consumable::consumableAssigments ( )

Definition at line 57 of file Consumable.php.

58  {
59  return $this->hasMany('\App\Models\ConsumableAssignment');
60  }
App\Models\Consumable::getEula ( )

Definition at line 102 of file Consumable.php.

103  {
104 
105  $Parsedown = new \Parsedown();
106 
107  if ($this->category->eula_text) {
108  return $Parsedown->text(e($this->category->eula_text));
109  } elseif ((Setting::getSettings()->default_eula_text) && ($this->category->use_default_eula=='1')) {
110  return $Parsedown->text(e(Setting::getSettings()->default_eula_text));
111  } else {
112  return null;
113  }
114 
115  }
static getSettings()
Definition: Setting.php:33
App\Models\Consumable::hasUsers ( )

Definition at line 91 of file Consumable.php.

92  {
93  return $this->belongsToMany('\App\Models\User', 'consumables_users', 'consumable_id', 'assigned_to')->count();
94  }
App\Models\Consumable::location ( )

Definition at line 67 of file Consumable.php.

68  {
69  return $this->belongsTo('\App\Models\Location', 'location_id');
70  }
App\Models\Consumable::numRemaining ( )

Definition at line 117 of file Consumable.php.

118  {
119  $checkedout = $this->users->count();
120  $total = $this->qty;
121  $remaining = $total - $checkedout;
122  return $remaining;
123  }
App\Models\Consumable::requireAcceptance ( )

Definition at line 97 of file Consumable.php.

98  {
99  return $this->category->require_acceptance;
100  }
App\Models\Consumable::scopeOrderCategory (   $query,
  $order 
)

Query builder scope to order on company.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$orderOrder
Returns
Illuminate Modified query builder

Definition at line 174 of file Consumable.php.

175  {
176  return $query->join('categories', 'consumables.category_id', '=', 'categories.id')->orderBy('categories.name', $order);
177  }
App\Models\Consumable::scopeOrderCompany (   $query,
  $order 
)

Query builder scope to order on company.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$orderOrder
Returns
Illuminate Modified query builder

Definition at line 201 of file Consumable.php.

202  {
203  return $query->leftJoin('companies', 'consumables.company_id', '=', 'companies.id')->orderBy('companies.name', $order);
204  }
App\Models\Consumable::scopeOrderLocation (   $query,
  $order 
)

Query builder scope to order on company.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$orderOrder
Returns
Illuminate Modified query builder

Definition at line 187 of file Consumable.php.

188  {
189  return $query->leftJoin('locations', 'consumables.location_id', '=', 'locations.id')->orderBy('locations.name', $order);
190  }
App\Models\Consumable::scopeTextSearch (   $query,
  $search 
)

Query builder scope to search on text.

Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$searchSearch term
Returns
Illuminate Modified query builder Query builder scope to search on text
Parameters
Illuminate\Database\Query\Builder$queryQuery builder instance
text$searchSearch term
Returns
Illuminate Modified query builder

Definition at line 141 of file Consumable.php.

142  {
143  $search = explode(' ', $search);
144 
145  return $query->where(function ($query) use ($search) {
146 
147  foreach ($search as $search) {
148  $query->whereHas('category', function ($query) use ($search) {
149  $query->where('categories.name', 'LIKE', '%'.$search.'%');
150  })->orWhere(function ($query) use ($search) {
151  $query->whereHas('company', function ($query) use ($search) {
152  $query->where('companies.name', 'LIKE', '%'.$search.'%');
153  });
154  })->orWhere(function ($query) use ($search) {
155  $query->whereHas('location', function ($query) use ($search) {
156  $query->where('locations.name', 'LIKE', '%'.$search.'%');
157  });
158  })->orWhere('consumables.name', 'LIKE', '%'.$search.'%')
159  ->orWhere('consumables.order_number', 'LIKE', '%'.$search.'%')
160  ->orWhere('consumables.purchase_cost', 'LIKE', '%'.$search.'%')
161  ->orWhere('consumables.purchase_date', 'LIKE', '%'.$search.'%');
162  }
163  });
164  }
App\Models\Consumable::users ( )

Definition at line 86 of file Consumable.php.

87  {
88  return $this->belongsToMany('\App\Models\User', 'consumables_users', 'consumable_id', 'assigned_to')->withPivot('user_id')->withTrashed()->withTimestamps();
89  }

Member Data Documentation

App\Models\Consumable::$dates = ['deleted_at']
protected

Definition at line 19 of file Consumable.php.

App\Models\Consumable::$fillable = ['name','qty','company_id','category_id']
protected

Definition at line 49 of file Consumable.php.

App\Models\Consumable::$injectUniqueIdentifier = true
protected

Definition at line 41 of file Consumable.php.

App\Models\Consumable::$rules
Initial value:
= array(
'name' => 'required|min:3|max:255',
'qty' => 'required|integer|min:0',
'category_id' => 'required|integer',
'company_id' => 'integer',
'min_amt' => 'integer|min:1',
)

Category validation rules.

Definition at line 26 of file Consumable.php.

App\Models\Consumable::$table = 'consumables'
protected

Definition at line 20 of file Consumable.php.


The documentation for this class was generated from the following file: