Skip to content

Commit aa27ee0

Browse files
authored
Merge pull request #156 from FriendsOfREDAXO/copilot/fix-155
Implement "Single point of truth" pattern for YForm Dataset classes
2 parents e496d92 + 9c047f0 commit aa27ee0

File tree

4 files changed

+100
-0
lines changed

4 files changed

+100
-0
lines changed

lib/Author.php

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,23 @@
2626

2727
class Author extends rex_yform_manager_dataset
2828
{
29+
// Single point of truth for field names
30+
public const string ID = 'id';
31+
public const string NAME = 'name';
32+
public const string NICKNAME = 'nickname';
33+
public const string TEXT = 'text';
34+
public const string BE_USER_ID = 'be_user_id';
35+
public const string UUID = 'uuid';
36+
37+
public const array FIELD_CONFIG = [
38+
self::ID,
39+
self::NAME => [],
40+
self::NICKNAME => [],
41+
self::TEXT => [],
42+
self::BE_USER_ID => [],
43+
self::UUID => [],
44+
];
45+
2946
/* translate:neues_author_name */
3047
/**
3148
* Gibt den Namen des Autors zurück.

lib/Category.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,31 @@ class Category extends rex_yform_manager_dataset
2828
/** @api */
2929
public const ONLINE = 1;
3030

31+
// Single point of truth for field names
32+
public const string ID = 'id';
33+
public const string DATE_ID = 'date_id';
34+
public const string NAME = 'name';
35+
public const string IMAGE = 'image';
36+
public const string STATUS = 'status';
37+
public const string CREATEUSER = 'createuser';
38+
public const string UPDATEUSER = 'updateuser';
39+
public const string UPDATEDATE = 'updatedate';
40+
public const string CREATEDATE = 'createdate';
41+
public const string UUID = 'uuid';
42+
43+
public const array FIELD_CONFIG = [
44+
self::ID,
45+
self::DATE_ID => [],
46+
self::NAME => [],
47+
self::IMAGE => [],
48+
self::STATUS => [],
49+
self::CREATEUSER => [],
50+
self::UPDATEUSER => [],
51+
self::UPDATEDATE => [],
52+
self::CREATEDATE => [],
53+
self::UUID => [],
54+
];
55+
3156
/**
3257
* Gibt den Namen der Kategorie zurück.
3358
* Returns the name of the Category.

lib/Entry.php

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,51 @@ class Entry extends rex_yform_manager_dataset
4747
/** @api */
4848
public const ONLINE = 1;
4949

50+
// Single point of truth for field names
51+
public const string ID = 'id';
52+
public const string STATUS_FIELD = 'status';
53+
public const string NAME = 'name';
54+
public const string TEASER = 'teaser';
55+
public const string DESCRIPTION = 'description';
56+
public const string DOMAIN_IDS = 'domain_ids';
57+
public const string LANG_ID = 'lang_id';
58+
public const string PUBLISHDATE = 'publishdate';
59+
public const string AUTHOR_ID = 'author_id';
60+
public const string URL = 'url';
61+
public const string CATEGORY_IDS = 'category_ids';
62+
public const string IMAGE = 'image';
63+
public const string IMAGES = 'images';
64+
public const string ATTACHMENTS = 'attachments';
65+
public const string CREATEDATE = 'createdate';
66+
public const string CREATEUSER = 'createuser';
67+
public const string UPDATEDATE = 'updatedate';
68+
public const string UPDATEUSER = 'updateuser';
69+
public const string UUID = 'uuid';
70+
public const string CANONICAL_URL = 'canonical_url';
71+
72+
public const array FIELD_CONFIG = [
73+
self::ID,
74+
self::STATUS_FIELD => [],
75+
self::NAME => [],
76+
self::TEASER => [],
77+
self::DESCRIPTION => [],
78+
self::DOMAIN_IDS => [],
79+
self::LANG_ID => [],
80+
self::PUBLISHDATE => [],
81+
self::AUTHOR_ID => [],
82+
self::URL => [],
83+
self::CATEGORY_IDS => [],
84+
self::IMAGE => [],
85+
self::IMAGES => [],
86+
self::ATTACHMENTS => [],
87+
self::CREATEDATE => [],
88+
self::CREATEUSER => [],
89+
self::UPDATEDATE => [],
90+
self::UPDATEUSER => [],
91+
self::UUID => [],
92+
self::CANONICAL_URL => [],
93+
];
94+
5095
/**
5196
* Standards für das Formular anpassen
5297
* - Editor-Konfiguration einfügen.

lib/EntryLang.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,19 @@
1818
*/
1919
class EntryLang extends rex_yform_manager_dataset
2020
{
21+
// Single point of truth for field names
22+
public const string ID = 'id';
23+
public const string ENTRY = 'entry';
24+
public const string CODE = 'code';
25+
public const string NAME = 'name';
26+
27+
public const array FIELD_CONFIG = [
28+
self::ID,
29+
self::ENTRY => [],
30+
self::CODE => [],
31+
self::NAME => [],
32+
];
33+
2134
/**
2235
* Gibt die News-Einträge der aktuellen Sprache zurück.
2336
* Returns the entries of the language.

0 commit comments

Comments
 (0)