hi,
this is not preferred method but if there is no others you can use SPEL macros to achieve that.
mod file:
MODIFY svy_ans POST_VALIDATE z_survey_answer() 1337 FILTER(EVENT("INSERT") && selected == 1);
spl file:
svy_ans::z_survey_answer(...)
{
string owner_persid;
object zfound, zobj;
if(text == "Unsatisfactory") // OR YOU CAN USE SEQUENCE HERE
{
send_wait(0, top_object(), "call_attr", "survey", "sync_fetch", "STATIC", format("id = %d", owning_survey_question.owning_survey ), -1, 0);
if(msg[1]>0)
{
zfound = msg[0];
send_wait(0, zfound, "dob_by_index", "DEFAULT", 0, 0);
zobj = msg[0];
owner_persid = format("%s:%d", zobj.object_type, zobj.object_id); // SO HERE IS PERSID OF THE OBJECT WHICH HAS POPULATED SURVEY
evt::z_attach_evt("evt:1337", owner_persid , 3); // PLACE CORRECT MULTIPLE NOTIFICATION EVENT HERE
}
}
}
evt::z_attach_evt(string evt_persid, string obj_persid, int zwait, ...)
{
object group_leader2;
object attached_events_table_record;
send_wait(0, top_object(), "get_co_group");
if (msg_error())
{
logf(ERROR, "Attach Event: error '%s' on '%s'", msg[0], obj_persid);
return;
}
group_leader2 = msg[0];
send_wait( 0, top_object(), "call_attr", "atev", "get_new_dob", NULL, NULL, group_leader2);
if (msg_error())
{
logf(ERROR, "Attach Event: error '%s' on '%s'", msg[0], obj_persid);
return;
}
attached_events_table_record = msg[0];
attached_events_table_record.obj_id = obj_persid;
attached_events_table_record.event_tmpl = evt_persid;
attached_events_table_record.wait_time = zwait;
send_wait(0, group_leader2, "checkin");
if (msg_error())
{
logf(ERROR, "Attach Event: error '%s' on '%s'", msg[0], obj_persid);
send_wait(0, group_leader2, "uncheck");
return;
}
}