wi-events/models/Event.php

121 lines
3.0 KiB
PHP

<?php
namespace Zoomyboy\Event\Models;
use Exception;
use Model;
use Zoomyboy\Event\Classes\Jsonfile;
/**
* Event Model.
*/
class Event extends Model
{
use \Winter\Storm\Database\Traits\Validation;
use \Winter\Storm\Database\Traits\Sluggable;
/**
* @var string the database table used by the model
*/
public $table = 'zoomyboy_event_events';
protected $slugs = ['slug' => 'name'];
/**
* @var array Guarded fields
*/
protected $guarded = ['*'];
/**
* @var array Fillable fields
*/
protected $fillable = [];
/**
* @var array Validation rules for attributes
*/
public $rules = [];
/**
* @var array Attributes to be cast to native types
*/
protected $casts = [];
/**
* @var array Attributes to be cast to JSON
*/
protected $jsonable = [];
/**
* @var array Attributes to be appended to the API representation of the model (ex. toArray())
*/
protected $appends = [];
/**
* @var array Attributes to be removed from the API representation of the model (ex. toArray())
*/
protected $hidden = [];
/**
* @var array Attributes to be cast to Argon (Carbon) instances
*/
protected $dates = [
'created_at',
'updated_at',
];
/**
* @var array Relations
*/
public $hasOne = [];
public $hasMany = [];
public $hasOneThrough = [];
public $hasManyThrough = [];
public $belongsTo = [];
public $belongsToMany = [];
public $morphTo = [];
public $morphOne = [];
public $morphMany = [];
public $attachOne = [];
public $attachMany = [];
public static function getOptions()
{
return static::pluck('name', 'id')->toArray();
}
public function loadConfig($v, $default = null)
{
$file = $this->slug.'.json';
throw_unless(Jsonfile::find($file), Exception::class, 'Datei '.$file.' nicht gefunden.');
return Jsonfile::find($file)->getVar($v, $default);
}
public function transformInputs($input)
{
$konto = [
'Gallier' => 'DE62 3305 0000 0000 7550 82',
'Gandalf' => 'DE47 3706 0193 0034 4200 17',
'Gravenrode' => 'DE13 3425 0000 0000 4010 83',
'Lennep' => 'DE58 3706 0193 0031 2770 19',
'Silva' => 'DE40 3425 0000 0000 2145 51',
'Sugambrer' => 'DE49 3425 0000 0000 0316 41',
'Tenkterer' => 'DE61 3425 0000 0000 7076 12',
'von Berg' => 'DE32 3425 0000 0001 9209 25',
];
if ('bela' === $this->slug) {
$input['konto'] = data_get($input, 'group') && data_get($konto, $input['group'])
? data_get($konto, $input['group'])
: 'Das Bezirkskonto';
$input['zweck'] = 'Bezirkslager '.data_get($input, 'firstname').' '.data_get($input, 'lastname');
$input['betrag'] = 'Leiter*in' === $input['agegroup'] ? '25,00 €' : '100,00 €';
return $input;
}
return $input;
}
}