improve customer api & gui

This commit is contained in:
Roland Schneider
2021-10-02 22:21:14 +02:00
parent 1d065cc729
commit f98dcb656f
44 changed files with 893 additions and 298 deletions

View File

@@ -5,54 +5,72 @@ namespace customerapi\models\available;
use common\models\Event;
use common\models\EventRegistration;
use common\models\EventType;
use common\models\Room;
use common\models\Trainer;
use yii\base\Model;
class EventAvailable extends Event
class EventAvailable extends Model
{
public $reservationCount;
public $id;
public $start;
public $end;
public $seat_count;
public $created_at;
public $updated_at;
public $deleted_at;
public $active;
public $eventType;
public $trainer;
public $room;
public $eventRegistrations;
public $registrationCount;
public $hasFreeSeats;
protected function getTrainerClass()
/**
* @param $event /common/models/Event
*/
public static function fromEvent($event)
{
// override trainer class to have more control
// about json fields
return TrainerAvailable::class;
}
$available = new EventAvailable();
$available->id = $event->id;
$available->start = $event->start;
$available->end = $event->end;
$available->seat_count = $event->seat_count;
$available->created_at = $event->created_at;
$available->updated_at = $event->updated_at;
$available->deleted_at = $event->deleted_at;
$available->active = $event->active;
protected function getEventTypeClass()
{
return EventTypeAvailable::class;
return $available;
}
protected function getRoomClass()
{
return RoomAvailable::class;
}
function fields()
{
$fields = [
"id" => "id",
"start" => "start",
"end" => "end",
"seat_count" => "seat_count",
"active" => "active",
"reservationCount" => "reservationCount",
"hasFreeSeats" => "hasFreeSeats",
"id" => "id",
"start" => "start",
"end" => "end",
"seat_count" => "seat_count",
"active" => "active",
"reservationCount" => "registrationCount",
"hasFreeSeats" => "hasFreeSeats",
];
$fields['trainer'] = 'trainer';
$fields['eventType'] = 'eventType';
$fields['room'] = 'room';
$fields['registrations'] = 'activeEventRegistrationsForCustomer';
$fields['registrations'] = 'eventRegistrations';
return $fields;
}
function extraFields()
{
$extra= parent::extraFields();
$extra = parent::extraFields();
$extra[] = 'trainer';
return $extra;
}

View File

@@ -13,7 +13,8 @@ class EventTypeAvailable extends EventType
{
return [
'id' => 'id',
'name' => 'name'
'name' => 'name',
'theme' => 'theme'
];
}