improve customer api & gui
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user