'int', 'shopping_order_id' => 'int', 'user_invoice_id' => 'int', 'month' => 'int', 'year' => 'int', 'points' => 'int', 'month_points' => 'int', 'month_shop_points' => 'int', 'total_net' => 'float', 'month_total_net' => 'float', 'month_shop_total_net' => 'float', 'status' => 'int', 'syslog' => 'array' ]; protected $dates = [ 'date' ]; protected $fillable = [ 'user_id', 'shopping_order_id', 'user_invoice_id', 'month', 'year', 'date', 'points', 'month_points', 'month_shop_points', 'total_net', 'month_total_net', 'month_shop_total_net', 'message', 'info', 'status', 'syslog' ]; public static $statusTypes = [ 0 => 'nicht zugewiesen', 1 => 'Beraterbestellung', //hinzugefügt aus 2 => 'Shopbestellung', //hinzugefügt aus 3 => 'Shopbestellung / pending', //hinzugefügt aus 4 => 'Gutschrift', //hinzugefügt aus 10 => '' ]; public static $statusColors = [ 0 => 'warning', 1 => 'success', 2 => 'secondary', 3 => 'warning', 4 => 'info', 10 => 'danger', ]; public function shopping_order() { return $this->belongsTo(ShoppingOrder::class); } public function user() { return $this->belongsTo(User::class); } public function user_invoice() { return $this->belongsTo(UserInvoice::class); } public function getDateAttribute(){ return $this->attributes['date'] ? Carbon::parse($this->attributes['date'])->format(\Util::formatDateDB()) : ''; } public function setDateAttribute( $value ) { $this->attributes['date'] = isset($value) ? (new Carbon($value))->format('Y-m-d') : NULL; } public function getDateRaw(){ return isset($this->attributes['date']) ? $this->attributes['date'] : NULL; } public function getPointsSum(){ return $this->month_points + $this->month_shop_points; } public function getTotalNetSum(){ return $this->month_total_net + $this->month_shop_total_net; } public function getStatusType(){ return isset(self::$statusTypes[$this->status]) ? self::$statusTypes[$this->status] : ""; } public function getStatusColor(){ return isset(self::$statusColors[$this->status]) ? self::$statusColors[$this->status] : "default"; } public function getFormatedMonthYear(){ return str_pad($this->month, 2, "0", STR_PAD_LEFT)."/".$this->year; } public function isCurrentMonthYear(){ if($this->month === intval(date('m')) && $this->year === intval(date('Y'))){ return true; } return false; } }