1616use App \Facades \DeviceCache ;
1717use App \Facades \LibrenmsConfig ;
1818use App \Models \AlertTemplate ;
19+ use App \Models \AlertTemplateMap ;
1920use App \Models \Availability ;
2021use App \Models \Device ;
2122use App \Models \DeviceGroup ;
@@ -1445,36 +1446,51 @@ function add_edit_alert_template(Illuminate\Http\Request $request)
14451446 if (! isset ($ vars ['template ' ]) || empty ($ vars ['template ' ])){
14461447 return api_error (400 , 'template variable must be set ' );
14471448 }
1448- if (is_numeric ($ vars ['template_id ' ])) {
1449+ if (isset ( $ vars [ ' template_id ' ]) && is_numeric ($ vars ['template_id ' ])) {
14491450 // Update template
14501451 $ create = false ;
14511452 $ template_id = $ vars ['template_id ' ];
1452- if (! dbUpdate (['template ' => $ vars ['template ' ], 'name ' => $ name , 'title ' => $ vars ['title ' ], 'title_rec ' => $ vars ['title_rec ' ]], 'alert_templates ' , 'id = ? ' , [$ vars ['template_id ' ]]) >= 0 ) {
1453- $ status = 'ok ' ;
1454- } else {
1455- $ message = 'Failed to update the template ' ;
1456- }
1453+ $ template = AlertTemplate::find ($ template_id );
1454+
1455+ $ template ->template = $ vars ['template ' ];
1456+ $ template ->name = $ vars ['name ' ];
1457+ $ template ->title = $ vars ['title ' ];
1458+ $ template ->title_rec = $ vars ['title_rec ' ];
1459+ $ template ->save ();
1460+ $ status = 'ok ' ;
14571461 } else {
14581462 // Create template
14591463 if ($ name != 'Default Alert Template ' ) {
1460- $ vars ['template_id ' ] = dbInsert (['template ' => $ vars ['template ' ], 'name ' => $ name , 'title ' => $ vars ['title ' ], 'title_rec ' => $ vars ['title_rec ' ]], 'alert_templates ' );
1461- if ($ vars ['template_id ' ] != false ) {
1464+ $ template = new AlertTemplate ;
1465+ $ template ->template = $ vars ['template ' ];
1466+ $ template ->name = $ vars ['name ' ];
1467+ $ template ->title = $ vars ['title ' ];
1468+ $ template ->title_rec = $ vars ['title_rec ' ];
1469+
1470+
1471+ $ template ->save ();
1472+ $ template ->fresh ();
1473+ $ template_id = $ template ->id ;
1474+ if ($ template_id != NULL ) {
14621475 $ status = 'ok ' ;
14631476 } else {
14641477 $ message = 'Could not create alert template ' ;
14651478 }
14661479 } else {
14671480 $ message = 'This template name is reserved! ' ;
1481+ $ status = 'error ' ;
14681482 }
14691483 }
1484+
14701485 if ($ status == 'ok ' ) {
14711486 $ alertRulesOk = true ;
1472- dbDelete ('alert_template_map ' , 'alert_templates_id = ? ' , [$ vars ['template_id ' ]]);
1473-
1487+ $ alertTemplatemap = AlertTemplateMap::where ('alert_templates_id ' , $ template_id )->delete ();
14741488 foreach ($ rules as $ rule_id ) {
1475- if (! dbInsert (['alert_rule_id ' => $ rule_id , 'alert_templates_id ' => $ vars ['template_id ' ]], 'alert_template_map ' )) {
1476- $ alertRulesOk = false ;
1477- }
1489+ // Check if succesfull?
1490+ $ new_alert_template_mapping = new AlertTemplateMap ;
1491+ $ new_alert_template_mapping ->alert_rule_id = $ rule_id ;
1492+ $ new_alert_template_mapping ->alert_templates_id = $ template_id ;
1493+ $ new_alert_template_mapping ->save ();
14781494 }
14791495
14801496 if ($ alertRulesOk ) {
@@ -1487,14 +1503,16 @@ function add_edit_alert_template(Illuminate\Http\Request $request)
14871503 }
14881504
14891505
1490- $ response = ['status ' => $ status , 'message ' => htmlentities ((string ) $ message ), 'id ' => $ vars [ ' template_id ' ] ?? null ];
1506+ $ response = ['status ' => $ status , 'message ' => htmlentities ((string ) $ message ), 'id ' => $ template_id ?? null ];
14911507 if ($ status == 'error ' ){
14921508 return api_error (400 , $ message );
14931509 }
14941510 if ($ create ){
14951511 return response ()->json ($ response , 201 , [], JSON_PRETTY_PRINT );
14961512 }
1497- return response ()->json ($ response , 201 , [], JSON_PRETTY_PRINT );
1513+
1514+ return response ()->json ($ response , 200 , [], JSON_PRETTY_PRINT );
1515+
14981516
14991517
15001518}
0 commit comments