]> gitweb.hamatoma.de Git - exhibition.git/commitdiff
Generator: generated program works
authorHamatoma <author.hamatoma.de>
Wed, 13 Oct 2021 20:39:16 +0000 (22:39 +0200)
committerHamatoma <author.hamatoma.de>
Wed, 13 Oct 2021 20:39:16 +0000 (22:39 +0200)
19 files changed:
.gitignore
lib/meta/module_meta_data.dart
lib/meta/modules.dart
lib/page/roles/create_role_page.dart
lib/page/roles/edit_role_page.dart
lib/page/roles/list_role_page.dart
lib/page/structures/create_structure_page.dart
lib/page/structures/delete_structure_page.dart
lib/page/structures/edit_structure_page.dart
lib/page/structures/list_structure_page.dart
lib/page/users/create_user_custom.dart
lib/page/users/create_user_page.dart
lib/page/users/delete_user_custom.dart
lib/page/users/delete_user_page.dart
lib/page/users/edit_user_custom.dart
lib/page/users/edit_user_page.dart
lib/page/users/list_user_custom.dart
lib/page/users/list_user_page.dart
metatool/bin/page_generator.dart

index 5bc5626befafa356e5f218f4396e7b8c5a30bfba..aa9f9658d2adcd8554226ceda38bf265d22cb31b 100644 (file)
@@ -61,3 +61,4 @@ data/i18n/main.lqa
 *~
 data/i18n/lokalize-scripts/
 rest_server/tools/rest_server
+/UpdRestSv
index c6a237f01c2e7abea56649db3a38f7399447c14f..68d98956c979180254d7bf860e239ae8d3de4f03 100644 (file)
@@ -225,7 +225,7 @@ class ModuleMetaData {
   ///
   /// Override it if needed.
   void onInitialized() {
-    for (var page in this.pageList){
+    for (var page in this.pageList) {
       page.onInitialized();
     }
   }
@@ -276,32 +276,32 @@ class PageMetaData {
     }
     this.name = name;
   }
-  void onInitialized(){
+  void onInitialized() {
     var newFields = <WidgetMetaData>[];
     var toDelete = <WidgetMetaData>[];
-    for (var field in fields){
-      if (field is CopyDbFields){
+    for (var field in fields) {
+      if (field is CopyDbFields) {
         String excluded = '';
         final start = field.options.indexOf('excluded=');
-        if (start >= 0){
+        if (start >= 0) {
           var end = field.options.indexOf(':', start);
-          if (end < 0){
+          if (end < 0) {
             end = field.options.length;
           }
           excluded = ' ' + field.options.substring(start, end) + ' ';
         }
-        for (var property in module.propertyList){
-          if (excluded.contains(" ${property.name} ")){
+        for (var property in module.propertyList) {
+          if (excluded.contains(" ${property.name} ")) {
             continue;
           }
-          if (! property.hasOption(':hidden:')) {
+          if (!property.hasOption(':hidden:')) {
             newFields.add(property);
           }
         }
         toDelete.add(field);
       }
     }
-    for (var field in toDelete){
+    for (var field in toDelete) {
       fields.remove(field);
     }
     fields.addAll(newFields);
@@ -328,6 +328,7 @@ class PropertyMetaData extends WidgetMetaData {
   final int size;
   String columnName;
   var validators = <String>[];
+
   /// The foreign key if dataType is DataType.reference, e.g. 'users.user_id'
   String? foreignKey;
   PropertyMetaData(String name, this.label, this.dataType, this.options,
@@ -335,7 +336,8 @@ class PropertyMetaData extends WidgetMetaData {
       this.columnName = '',
       this.size = 0,
       this.foreignKey,
-      int weight = 6, List<String>? validators})
+      int weight = 6,
+      List<String>? validators})
       : super(name, WidgetType.property) {
     this.weight = weight > 12 ? 12 : weight;
     this.validators = validators ?? [];
index 5d0d3ed1c17aa985f5c79ee47caf6afd36796783..2ff718cbe1e7dd5b623c7dfe4e2c30058e8dda99 100644 (file)
@@ -3,6 +3,7 @@ import 'module_meta_data.dart';
 import 'roles_meta.dart';
 import 'structures_meta.dart';
 import 'users_meta.dart';
+
 /// Returns the meta data of the module given by [name].
 /// Returns null if not found.
 ModuleMetaData? moduleByName(String name) {
@@ -22,8 +23,9 @@ ModuleMetaData? moduleByName(String name) {
   }
   return rc;
 }
+
 /// Returns the module names as string list.
-List<String> moduleNames(){
+List<String> moduleNames() {
   return [
     'Roles',
     'Structures',
index 4ec6c88d247f4f8f2e59f42a4159ecb4d1dbb6e0..2cd8530ff6ee1cb07d75cb0e9c8dbfc5e5abf649 100644 (file)
@@ -20,7 +20,7 @@ class CreateRolePage extends StatefulWidget {
 }
 
 class _CreateRolePageState extends CreateRoleCustom {
-  _CreateRolePageState(): super();
+  _CreateRolePageState() : super();
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index ef15ac45d8661adb74e1558911f0d05741b1b6b9..6c32f014345b856ae772492995f4f13872267312 100644 (file)
@@ -21,7 +21,7 @@ class EditRolePage extends StatefulWidget {
 }
 
 class _EditRolePageState extends EditRoleCustom {
-  _EditRolePageState(int primaryKey): super(primaryKey);
+  _EditRolePageState(int primaryKey) : super(primaryKey);
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index b42f052403af7c5e5350e744c837b61cbd7126b8..0915e10602594259aefa4ae513f0e1c5d86433d2 100644 (file)
@@ -20,7 +20,7 @@ class ListRolePage extends StatefulWidget {
 }
 
 class _ListRolePageState extends ListRoleCustom {
-  _ListRolePageState(): super();
+  _ListRolePageState() : super();
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index 88aa0fbe5e25be84fab24c4989cfcb8ab4c49d92..e27c01ef4d389921765ffa79c6ec298b77d72a38 100644 (file)
@@ -12,15 +12,15 @@ class CreateStructurePage extends StatefulWidget {
   @override
   _CreateStructurePageState createState() {
     final rc = _CreateStructurePageState();
-    rc.attendedPage =
-        AttendedPage(this, rc, GlobalData(), StructureMeta.instance, pageStates);
+    rc.attendedPage = AttendedPage(
+        this, rc, GlobalData(), StructureMeta.instance, pageStates);
     pageStates.attendedPage = rc.attendedPage;
     return rc;
   }
 }
 
 class _CreateStructurePageState extends CreateStructureCustom {
-  _CreateStructurePageState(): super();
+  _CreateStructurePageState() : super();
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index 2bdedf31d7acb9ce08674906ee7eb17e63100090..cc888a8d54a22aeed3b844d899b1fcdfd35390d2 100644 (file)
@@ -13,15 +13,15 @@ class DeleteStructurePage extends StatefulWidget {
   @override
   _DeleteStructurePageState createState() {
     final rc = _DeleteStructurePageState(this.primaryKey);
-    rc.attendedPage =
-        AttendedPage(this, rc, GlobalData(), StructureMeta.instance, pageStates);
+    rc.attendedPage = AttendedPage(
+        this, rc, GlobalData(), StructureMeta.instance, pageStates);
     pageStates.attendedPage = rc.attendedPage;
     return rc;
   }
 }
 
 class _DeleteStructurePageState extends DeleteStructureCustom {
-  _DeleteStructurePageState(int primaryKey): super(primaryKey);
+  _DeleteStructurePageState(int primaryKey) : super(primaryKey);
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index c151f661d5bdbd2569f26da42d8f1c67298cc1af..a689d34c69fec6ed85983cb17934339c8cad2bd2 100644 (file)
@@ -13,15 +13,15 @@ class EditStructurePage extends StatefulWidget {
   @override
   _EditStructurePageState createState() {
     final rc = _EditStructurePageState(this.primaryKey);
-    rc.attendedPage =
-        AttendedPage(this, rc, GlobalData(), StructureMeta.instance, pageStates);
+    rc.attendedPage = AttendedPage(
+        this, rc, GlobalData(), StructureMeta.instance, pageStates);
     pageStates.attendedPage = rc.attendedPage;
     return rc;
   }
 }
 
 class _EditStructurePageState extends EditStructureCustom {
-  _EditStructurePageState(int primaryKey): super(primaryKey);
+  _EditStructurePageState(int primaryKey) : super(primaryKey);
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index e286fbc4ae0f50a1a783ec73762412bb8bc7e659..55c901c8bcbfdd9dcea86dd63d0b80206cc58b03 100644 (file)
@@ -12,15 +12,15 @@ class ListStructurePage extends StatefulWidget {
   @override
   _ListStructurePageState createState() {
     final rc = _ListStructurePageState();
-    rc.attendedPage =
-        AttendedPage(this, rc, GlobalData(), StructureMeta.instance, pageStates);
+    rc.attendedPage = AttendedPage(
+        this, rc, GlobalData(), StructureMeta.instance, pageStates);
     pageStates.attendedPage = rc.attendedPage;
     return rc;
   }
 }
 
 class _ListStructurePageState extends ListStructureCustom {
-  _ListStructurePageState(): super();
+  _ListStructurePageState() : super();
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index ec8d94edb5e6c154e427774bca7bb04d2124b6be..c0da66b7d760bb1a967bdc5b8f791d5f58c18b4e 100644 (file)
@@ -98,7 +98,7 @@ class CreateUserCustom extends State<CreateUserPage> with MessageLine {
                           formItems,
                           screenWidth: attendedPage!.pageStates.screenWidth,
                           padding: padding,
-                    ))))));
+                        ))))));
     return rc;
   }
 
index 14e69e258185a24630f5a76f39e934f03133ccc6..71a2c05f8e2aab205a665c480213d491711ed3e2 100644 (file)
@@ -20,7 +20,7 @@ class CreateUserPage extends StatefulWidget {
 }
 
 class _CreateUserPageState extends CreateUserCustom {
-  _CreateUserPageState(): super();
+  _CreateUserPageState() : super();
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index 8415fb270f76d4ae9dc813b85ab338530b7dfbd0..65cfc7a7020cdb1a19bfb682e6ac84aa5b903056 100644 (file)
@@ -75,7 +75,8 @@ class DeleteUserCustom extends State<DeleteUserPage> with MessageLine {
           weight: 6),
       FormItem(
           ElevatedButton(
-              onPressed: () => verifyAndDelete(), child: Text(i18n.tr('Delete'))),
+              onPressed: () => verifyAndDelete(),
+              child: Text(i18n.tr('Delete'))),
           weight: 8,
           gapAbove: 2 * padding),
       FormItem(
@@ -104,7 +105,7 @@ class DeleteUserCustom extends State<DeleteUserPage> with MessageLine {
                           formItems,
                           screenWidth: attendedPage!.pageStates.screenWidth,
                           padding: padding,
-                    ))))));
+                        ))))));
     return rc;
   }
 
@@ -118,7 +119,7 @@ class DeleteUserCustom extends State<DeleteUserPage> with MessageLine {
       'module': 'Users',
       'sql': 'delete',
     };
-    _fieldData.toMap(parameters);
+    parameters[':id'] = primaryKey;
     globalData.restPersistence!
         .store(what: 'store', map: parameters)
         .then((answer) {
index 85cbfc907ceebe2c637ac1bc32c7ee0433342d34..8bbef4c01f9cafe001d2b38d6e01af670ac93a85 100644 (file)
@@ -21,7 +21,7 @@ class DeleteUserPage extends StatefulWidget {
 }
 
 class _DeleteUserPageState extends DeleteUserCustom {
-  _DeleteUserPageState(int primaryKey): super(primaryKey);
+  _DeleteUserPageState(int primaryKey) : super(primaryKey);
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index 4727f34b0538117bcf0a77126b8cd205ecfbe708..81685c3e059f23e9f65f651d14d5f3680c877bf9 100644 (file)
@@ -104,7 +104,7 @@ class EditUserCustom extends State<EditUserPage> with MessageLine {
                           formItems,
                           screenWidth: attendedPage!.pageStates.screenWidth,
                           padding: padding,
-                    ))))));
+                        ))))));
     return rc;
   }
 
@@ -118,12 +118,11 @@ class EditUserCustom extends State<EditUserPage> with MessageLine {
       'module': 'Users',
       'sql': 'update',
     };
+    parameters[':id'] = primaryKey;
     _fieldData.toMap(parameters);
     globalData.restPersistence!
         .store(what: 'store', map: parameters)
-        .then((answer) {
-
-    });
+        .then((answer) {});
   }
 
   void verifyAndStore() {
@@ -154,8 +153,9 @@ class _FieldData {
     email = map['user_email'];
     role = map['user_role'];
   }
+
   void toMap(Map<String, dynamic> map) {
-    map[':id'] = primaryKey;
+    // please set outside: map[':id'] = primaryKey;
     map[':name'] = name;
     map[':displayName'] = displayName;
     map[':email'] = email;
index 11796632306f7b6a0d8a5c1b26bd2b9bd80e6d06..4b2e75f96c40371887a1ff257b12738ea63d3dad 100644 (file)
@@ -21,7 +21,7 @@ class EditUserPage extends StatefulWidget {
 }
 
 class _EditUserPageState extends EditUserCustom {
-  _EditUserPageState(int primaryKey): super(primaryKey);
+  _EditUserPageState(int primaryKey) : super(primaryKey);
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index f481a2ceecf2b8462bb0521ba1ece428d0a09e51..195eb9afb19ba0bd2ae779a0ac5b35c520d5d1d0 100644 (file)
@@ -119,8 +119,9 @@ class ListUserCustom extends State<ListUserPage> {
   void initState() {
     super.initState();
   }
+
   @override
-  void dispose(){
+  void dispose() {
     textController.dispose();
     super.dispose();
   }
index 1938d3d9a841fa556eb29744f91b85a73d9fde16..2723f48184f044e8e5216c00a0c1bfb8e4cbba5f 100644 (file)
@@ -20,7 +20,7 @@ class ListUserPage extends StatefulWidget {
 }
 
 class _ListUserPageState extends ListUserCustom {
-  _ListUserPageState(): super();
+  _ListUserPageState() : super();
   @override
   void didChangeDependencies() {
     final size = MediaQuery.of(context).size;
index ac6333aaba5441b9c4efdbd916974e5156056a18..0d73fdbcf00edc12dfcf3ae41b80de75da6d11fc 100644 (file)
@@ -218,8 +218,7 @@ class EditUserCustom extends State<EditUserPage> with MessageLine {
       'module': 'Users',
       'sql': '#SQL_TYPE',
     };
-    _fieldData.toMap(parameters);
-    globalData.restPersistence!
+#SET_PRIMARY#CALL_TO_MAP    globalData.restPersistence!
         .store(what: 'store', map: parameters)
         .then((answer) {
 #STORAGE_DONE
@@ -377,7 +376,7 @@ StatefulWidget? customPageByRoute(String route) {
         continue;
       }
       final name = field.name;
-      final field2 = field as PropertyMetaData;
+      final field2 = field;
       String type;
       String value;
       switch (field2.dataType) {
@@ -578,7 +577,7 @@ StatefulWidget? customPageByRoute(String route) {
     if (page.pageType == PageType.edit || page.pageType == PageType.create) {
       final buffer = StringBuffer('  void toMap(Map<String, dynamic> map) {\n');
       if (page.pageType == PageType.edit) {
-        buffer.writeln("    map[':id'] = primaryKey;");
+        buffer.writeln("    // please set outside: map[':id'] = primaryKey;");
       }
       for (var field in page.fields) {
         if (!(field is PropertyMetaData) || field.hasOption(':primary:')) {
@@ -659,24 +658,30 @@ StatefulWidget? customPageByRoute(String route) {
     var action2 = 'verifyAndStore';
     var storageDone = '';
     var buttonText = 'Save';
-    String sqlType = '';
+    var sqlType = '';
+    var setPrimary = '';
+    var callToMap = '';
     page.pageType == PageType.edit
         ? 'update'
         : (page.pageType == PageType.delete ? 'delete' : 'insert');
 
     switch (page.pageType) {
       case PageType.create:
+        callToMap = '    _fieldData.toMap(parameters);\n';
         sqlType = 'insert';
         storageDone = templateStorageDoneCreate.replaceFirst(
             '#MODULE', page.module.moduleName);
         break;
       case PageType.edit:
+        callToMap = '    _fieldData.toMap(parameters);\n';
+        setPrimary = "    parameters[':id'] = primaryKey;\n";
         sqlType = 'update';
         storageDone = templateStorageDoneEdit;
         hasPrimary = true;
         storageDone = '';
         break;
       case PageType.delete:
+        setPrimary = "    parameters[':id'] = primaryKey;\n";
         sqlType = 'delete';
         buttonText = 'Delete';
         action1 = 'delete';
@@ -697,6 +702,8 @@ StatefulWidget? customPageByRoute(String route) {
         .replaceFirst('#LOAD_RECORD', buildLoadRecord(page))
         .replaceFirst('#PAGE_LABEL', page.label)
         .replaceFirst('#SQL_TYPE', sqlType)
+        .replaceFirst('#SET_PRIMARY', setPrimary)
+        .replaceFirst('#CALL_TO_MAP', callToMap)
         .replaceAll('#ACTION1', action1)
         .replaceAll('#ACTION2', action2)
         .replaceFirst('#BUTTON', buttonText)