@@ -1065,7 +1065,7 @@ public function save(PluginFormcreatorForm_Answer $formanswer) {
10651065 '_groups_id_assign ' => [],
10661066 ];
10671067
1068- $ data = [] ;
1068+ $ data = Ticket:: getDefaultValues () ;
10691069 $ ticket = new Ticket ();
10701070 $ form = $ formanswer ->getForm ();
10711071 $ answer = new PluginFormcreatorAnswer ();
@@ -1231,15 +1231,32 @@ public function save(PluginFormcreatorForm_Answer $formanswer) {
12311231 }
12321232
12331233 $ data = $ this ->setTargetDueDate ($ data , $ formanswer );
1234-
12351234 $ data = $ this ->setTargetUrgency ($ data , $ formanswer );
1236-
12371235 $ data = $ this ->setTargetCategory ($ data , $ formanswer );
1238-
12391236 $ data = $ this ->setTargetLocation ($ data , $ formanswer );
12401237
1241- $ data = $ this ->requesters + $ this ->observers + $ this ->assigned + $ this ->assignedSuppliers + $ data ;
1242- $ data = $ this ->requesterGroups + $ this ->observerGroups + $ this ->assignedGroups + $ data ;
1238+ // There is always at least one requester
1239+ $ data = $ data + $ this ->requesters ;
1240+
1241+ // Overwrite default actors only if populated
1242+ if (count ($ this ->observers ['_users_id_observer ' ]) > 0 ) {
1243+ $ data = $ data + $ this ->observers ;
1244+ }
1245+ if (count ($ this ->assigned ['_users_id_assign ' ]) > 0 ) {
1246+ $ data = $ data + $ this ->assigned ;
1247+ }
1248+ if (count ($ this ->assignedSuppliers ['_suppliers_id_assign ' ]) > 0 ) {
1249+ $ data = $ data + $ this ->assignedSuppliers ;
1250+ }
1251+ if (count ($ this ->requesterGroups ['_groups_id_requester ' ]) > 0 ) {
1252+ $ data = $ data + $ this ->requesterGroups ;
1253+ }
1254+ if (count ($ this ->observerGroups ['_groups_id_observer ' ]) > 0 ) {
1255+ $ data = $ data + $ this ->observerGroups ;
1256+ }
1257+ if (count ($ this ->assignedGroups ['_groups_id_assign ' ]) > 0 ) {
1258+ $ data = $ data + $ this ->assignedGroups ;
1259+ }
12431260
12441261 // Create the target ticket
12451262 if (!$ ticketID = $ ticket ->add ($ data )) {
0 commit comments