Use DateFormField for package dates for project (add|edit) form
authorMatthias Schmidt <gravatronics@live.com>
Fri, 12 Jul 2019 07:25:11 +0000 (09:25 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Fri, 12 Jul 2019 07:25:11 +0000 (09:25 +0200)
See  #2772

wcfsetup/install/files/lib/acp/form/DevtoolsProjectAddForm.class.php
wcfsetup/install/files/lib/acp/form/DevtoolsProjectEditForm.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index 2b7f38fd43664c041e5bbaeb179cf47af978d2f0..82187b19f441e330aca71204d525f5585ce78d09 100644 (file)
@@ -14,6 +14,7 @@ use wcf\system\form\builder\container\FormContainer;
 use wcf\system\form\builder\container\TabFormContainer;
 use wcf\system\form\builder\container\TabMenuFormContainer;
 use wcf\system\form\builder\field\BooleanFormField;
+use wcf\system\form\builder\field\DateFormField;
 use wcf\system\form\builder\field\dependency\NonEmptyFormFieldDependency;
 use wcf\system\form\builder\field\dependency\ValueFormFieldDependency;
 use wcf\system\form\builder\field\devtools\project\DevtoolsProjectExcludedPackagesFormField;
@@ -277,11 +278,11 @@ class DevtoolsProjectAddForm extends AbstractFormBuilderForm {
                                        ->required()
                                        ->maximumLength(255),
                                
-                               TextFormField::create('date')
+                               DateFormField::create('date')
                                        ->label('wcf.acp.devtools.project.packageDate')
                                        ->description('wcf.acp.devtools.project.packageDate.description')
                                        ->required()
-                                       ->maximumLength(255),
+                                       ->saveValueFormat('Y-m-d'),
                                
                                UrlFormField::create('packageUrl')
                                        ->label('wcf.acp.devtools.project.packageUrl')
index 7b8c5b0ce2981f1bca4b7ec19f152430a7f430d4..a2412a65f27080cecaaaa781546f21407d991d65 100644 (file)
@@ -5,6 +5,7 @@ use wcf\system\exception\IllegalLinkException;
 use wcf\system\form\builder\container\TabMenuFormContainer;
 use wcf\system\form\builder\container\TabTabMenuFormContainer;
 use wcf\system\form\builder\field\BooleanFormField;
+use wcf\system\form\builder\field\DateFormField;
 use wcf\system\form\builder\field\devtools\project\DevtoolsProjectExcludedPackagesFormField;
 use wcf\system\form\builder\field\devtools\project\DevtoolsProjectInstructionsFormField;
 use wcf\system\form\builder\field\devtools\project\DevtoolsProjectOptionalPackagesFormField;
@@ -199,7 +200,7 @@ class DevtoolsProjectEditForm extends DevtoolsProjectAddForm {
                        $this->missingElements[] = 'packageDescription';
                }
                
-               /** @var TextFormField $date */
+               /** @var DateFormField $date */
                $date = $this->form->getNodeById('date');
                if ($packageArchive->getPackageInfo('date') !== null) {
                        $date->value(date('Y-m-d', $packageArchive->getPackageInfo('date')));
index 8999471bec280280469e1896aaa0bfaa8a5f67c3..e1b7c0b917b676e8a519a8aa88a33e5db7483c58 100644 (file)
                <item name="wcf.acp.devtools.project.instructions.description"><![CDATA[Die Anweisungen erklären der Installations- und Updateroutine, was gemacht werden muss, damit das Paket erfolgreich installiert/aktualisiert werden kann.]]></item>
                <item name="wcf.acp.devtools.project.packageIdentifier.description"><![CDATA[Der Paketbezeichner identifiziert das Paket eindeutig. Der Bezeichner besteht aus mindestens drei durch Punkte getrennte Abschnitten. Jeder Abschnitt darf nur folgende Zeichen einhalten: <kbd>[A-z0-9-_]</kbd>.]]></item>
                <item name="wcf.acp.devtools.project.isApplication.description"><![CDATA[Eine App besitzt ihr eigenes Frontend und einen separaten Namespace, ein spezifisches Datenbanktabellenpräfix und Ordnern für Templates. Sie bietet eine logische (und teilweise aus physikalische) Abtrennung gegenüber Core und anderen installierten Apps. Der letzte Abschnitt des Paketbezeichners entspricht der Abkürzung der App im System. App-Abkürzungen müssen innerhalb einer Installation eindeutig sein.]]></item>
-               <item name="wcf.acp.devtools.project.packageDate.description"><![CDATA[Das Erstellungsdatum ist das Datum, an dem diese Version des Pakets veröffentlicht wurde. Format: <kbd>YYYY-MM-DD</kbd>.]]></item>
+               <item name="wcf.acp.devtools.project.packageDate.description"><![CDATA[Das Erstellungsdatum ist das Datum, an dem diese Version des Pakets veröffentlicht wurde.]]></item>
                <item name="wcf.acp.devtools.project.packageUrl.description"><![CDATA[Die Paket-Website liefert detailierte Informationen zum Paket.]]></item>
                <item name="wcf.acp.devtools.project.packageUrl"><![CDATA[Paket-Website]]></item>
                <item name="wcf.acp.devtools.project.packageVersion.description"><![CDATA[Die Paketversion besteht aus drei durch Punkte abgetrennte Zahlen und einem optionalen, durch ein Leerzeichen abgetrennten Zusatz <kbd>Dev</kbd>, <kbd>Alpha</kbd>, <kbd>Beta</kbd>, <kbd>RC</kbd> oder <kbd>pl</kbd>, dem eine weietre Zahl folgt. Beispiele: <kbd>1.0.0</kbd>, <kbd>2.1.0 Beta 3</kbd>.]]></item>
index e5040b1882f85473da35cc67c407405b83a9c013..3a602f4714d5cc7f932c6decfc8ade37adf3ea3f 100644 (file)
                <item name="wcf.acp.devtools.project.instructions.description"><![CDATA[The instructions tell the installation and update routine what needs to be done to successfully install/update the package.]]></item>
                <item name="wcf.acp.devtools.project.packageIdentifier.description"><![CDATA[The package identifier uniquely identifies the package. The identifier consists of at least three segments that are separated by dots. Each segment must not be empty and may only contain the following characters: <kbd>[A-z0-9-_]</kbd>.]]></item>
                <item name="wcf.acp.devtools.project.isApplication.description"><![CDATA[An app has its own frontend with a dedicated namespace, database table prefix and template locations. It offers a logical (and to some extent physical) separation from other parts of Core and other installed apps. The last segment of the package identifier is used as the abbreviation of the application within the system. App abbreviations have to be unique within an installation.]]></item>
-               <item name="wcf.acp.devtools.project.packageDate.description"><![CDATA[The package creation date refers to when this version of the package was published. Format: <kbd>YYYY-MM-DD</kbd>.]]></item>
+               <item name="wcf.acp.devtools.project.packageDate.description"><![CDATA[The package creation date refers to when this version of the package was published.]]></item>
                <item name="wcf.acp.devtools.project.packageUrl.description"><![CDATA[The package website provides detailed information on the package.]]></item>
                <item name="wcf.acp.devtools.project.packageUrl"><![CDATA[Package Website]]></item>
                <item name="wcf.acp.devtools.project.packageVersion.description"><![CDATA[The package version consists of three dot-separated numbers and an optional whitespace-separated suffix <kbd>Dev</kbd>, <kbd>Alpha</kbd>, <kbd>Beta</kbd>, <kbd>RC</kbd>, or <kbd>pl</kbd> that is followed by another number. Examples: <kbd>1.0.0</kbd>, <kbd>2.1.0 Beta 3</kbd>.]]></item>