2023-02-12 01:25:16 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Zoomyboy\Event\Models;
|
|
|
|
|
2023-02-12 21:30:52 +01:00
|
|
|
use Exception;
|
2023-02-12 01:25:16 +01:00
|
|
|
use Model;
|
2023-02-12 21:30:52 +01:00
|
|
|
use Zoomyboy\Event\Classes\Jsonfile;
|
2023-02-12 01:25:16 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 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 = [];
|
|
|
|
|
2023-02-12 21:30:52 +01:00
|
|
|
public static function getOptions()
|
2023-02-12 01:25:16 +01:00
|
|
|
{
|
|
|
|
return static::pluck('name', 'id')->toArray();
|
|
|
|
}
|
2023-02-12 21:30:52 +01:00
|
|
|
|
|
|
|
public function loadConfig($v)
|
|
|
|
{
|
|
|
|
$file = $this->slug.'.json';
|
|
|
|
throw_unless(Jsonfile::find($file), Exception::class, 'Datei '.$file.' nicht gefunden.');
|
|
|
|
|
|
|
|
return Jsonfile::find($file)->getVar($v);
|
|
|
|
}
|
2023-03-23 00:45:26 +01:00
|
|
|
|
|
|
|
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');
|
2023-08-07 21:53:31 +02:00
|
|
|
$input['betrag'] = 'Leiter*in' === $input['agegroup'] ? '25,00 €' : '100,00 €';
|
2023-03-23 00:45:26 +01:00
|
|
|
|
|
|
|
return $input;
|
|
|
|
}
|
|
|
|
|
|
|
|
return $input;
|
|
|
|
}
|
2023-02-12 01:25:16 +01:00
|
|
|
}
|