1<?php
2
3
4namespace ComboStrap;
5
6
7use ComboStrap\Meta\Api\Metadata;
8use ComboStrap\Meta\Api\MetadataDateTime;
9
10class EndDate extends MetadataDateTime
11{
12
13
14    public const PROPERTY_NAME = "date_end";
15
16    public static function createFromPage(MarkupPath $page)
17    {
18        return (new EndDate())
19            ->setResource($page);
20    }
21
22    static public function getTab(): string
23    {
24        return MetaManagerForm::TAB_TYPE_VALUE;
25    }
26
27    static public function getDescription(): string
28    {
29        return "The end date of an event";
30    }
31
32    static public function getLabel(): string
33    {
34        return "End Date";
35    }
36
37    public static function getName(): string
38    {
39        return self::PROPERTY_NAME;
40    }
41
42    static public function getPersistenceType(): string
43    {
44        return Metadata::PERSISTENT_METADATA;
45    }
46
47    static public function isMutable(): bool
48    {
49        return true;
50    }
51
52    public function getDefaultValue()
53    {
54        throw new ExceptionNotFound("The end date does not have any default value");
55    }
56
57    static public function getCanonical(): string
58    {
59        return PageType::EVENT_TYPE;
60    }
61
62
63    static public function isOnForm(): bool
64    {
65        return true;
66    }
67
68}
69