Commit ab8da554697659324f79711daed7a935fc284268

Authored by David RENÉ
1 parent d288cf63

[+] manage the trigger before and after for delete_row

hayamiki_lib @ 79e0a36fdf9
1 -Subproject commit 2c3918d50e39f154076525d5bdf90ccb45264cae 1 +Subproject commit 79e0a36fdf9a2bb34e0245b53e6a5077b428affa
make_lib.bat 0 → 100644
  1 +anubis.1.19.exe -I"./;./src;./src/version" -tab:2 -pre -O src\web_controller\hayamiki_plugin.anubis
src/web_controller/hayamiki.anubis
@@ -440,16 +440,41 @@ define (WEB_Session) -> WEB_Controller_Result @@ -440,16 +440,41 @@ define (WEB_Session) -> WEB_Controller_Result
440 ( 440 (
441 WEB_Session _session 441 WEB_Session _session
442 ) |-> 442 ) |->
443 - if hk_delete_row(*_session.web_request.lwa, db) is 443 + with _T = make_translate_function(_session),
  444 + _lwa = *_session.web_request.lwa,
  445 +
  446 + with table_name = get_String(_lwa, "table_name", ""), // table name
  447 +
  448 + if get_hk_controller(_vtm.hk_controllers, table_name) is
444 { 449 {
445 - error(error_str) then  
446 - set_Page_Message(_session.fields, error_translate(error_str));  
447 - redirect_to_previous(_session.fields),  
448 - ok(ok_str) then  
449 - logger(logInfo, "delete ok");  
450 - set_Page_Message(_session.fields, ok_translate(ok_str));  
451 - redirect_to_previous(_session.fields),  
452 - }. 450 + failure then logger(logError, "can't get hk_controller for "+table_name);redirect_to_previous(_session.fields),
  451 + success(controller) then
  452 + forget(map((HK_Trigger trigger)
  453 + |->
  454 + logger(logInfo, "call trigger before delete "+trigger.trigger_name+" ON table "+table_name);
  455 + trigger.trigger_call_back(db, _session),
  456 + *controller.triggers.before_delete));
  457 +
  458 + if hk_delete_row(*_session.web_request.lwa, db) is
  459 + {
  460 + error(error_str) then
  461 + set_Page_Message(_session.fields, error_translate(error_str));
  462 + redirect_to_previous(_session.fields),
  463 +
  464 + ok(ok_str) then
  465 + forget(map((HK_Trigger trigger)
  466 + |->
  467 + logger(logInfo, "call trigger after delete "+trigger.trigger_name+" ON table "+table_name);
  468 + trigger.trigger_call_back(db, _session),
  469 + *controller.triggers.after_delete));
  470 +
  471 + logger(logInfo, "delete ok");
  472 +
  473 + set_Page_Message(_session.fields, ok_translate(ok_str));
  474 + redirect_to_previous(_session.fields),
  475 + }
  476 + }
  477 +.
453 478
454 define (WEB_Session) -> WEB_Controller_Result 479 define (WEB_Session) -> WEB_Controller_Result
455 save_row 480 save_row
src/web_controller/hayamiki_plugin.anubis
@@ -37,7 +37,7 @@ global define WEB_Plugin @@ -37,7 +37,7 @@ global define WEB_Plugin
37 web_plugin( 37 web_plugin(
38 "HAYAMIKI", 38 "HAYAMIKI",
39 "BASE", 39 "BASE",
40 - "1.19.0", 40 + "1.19.1",
41 _Int_to_ISO_8601_datetime(to_Int(__TIME__)), 41 _Int_to_ISO_8601_datetime(to_Int(__TIME__)),
42 plugin_get_controller, 42 plugin_get_controller,
43 plugin_get_typed_content 43 plugin_get_typed_content
xlib @ 0555931cf45
1 -Subproject commit a66ad216efcbfe28e4f095ffc68d29e2b8f08412 1 +Subproject commit 0555931cf45f083fa29cd976aadf081a4f3c1d78