All pastes #978411 Raw Edit

Someone

public text v1 · immutable
·published 2008-04-09 15:16 UTC
rendered paste body
int MACRO_DEBUG; MACRO_DEBUG=1;
// Always return OK from this spel
set_error(0);
string func_name; func_name="Auto-Assign WF Spell Macro";

string co_cnt_name, co_grp_name;
uuid co_cnt_uuid, co_grp_uuid;

co_cnt_uuid = (uuid) expand( format("&{%s=chg.id->assignee}", chg) );
co_grp_uuid = (uuid) expand( format("&{%s=chg.id->group}", chg) );
logf( SIGNIFICANT, "%s - Reassigning a task for CO (%s) ", func_name, chg.chg_ref_num);

if ( is_empty(co_cnt_uuid) || is_null(co_cnt_uuid) ) {
// The CO does not have an Assignee ..
if ( MACRO_DEBUG ) 
logf( SIGNIFICANT, "%s - Parent CO (%s) does not have an Assignee set", func_name, chg.chg_ref_num);

if ( is_empty(co_grp_uuid) || is_null(co_grp_uuid) ) {
// The CO does not have a Group assigned ...
logf( SIGNIFICANT, "%s - Parent CO (%s) does not have a Group set, exiting now", func_name, chg.chg_ref_num);
return;
}
}

// OK, since we got here, we either have a CO Assignee or Group Assigned 
// and the WF does not have an Assignee set so we can make the transfer.
if ( !is_empty(co_cnt_uuid) && !is_null(co_cnt_uuid) ) {
// We have an Assignee on the parent Change Order
send_wait ( 0, this, "call_attr", "assignee", "set_val", co_cnt_uuid, "SURE_SET");
if ( msg_error() ) {
logf(ERROR, "%s - Change WF Task Assignee for CO %s failed: %s", func_name, chg.chg_ref_num,msg[0] );
} else {
if ( MACRO_DEBUG ) 
logf( SIGNIFICANT, "%s - WF Task (%s) Assignee set to CO %s Assignee", func_name, (string) id, chg.chg_ref_num);
} 
} else {
// We don't have an Assignee on the parent Change Order, but we have a Group assigned
send_wait ( 0, this, "call_attr", "group", "set_val", co_grp_uuid, "SURE_SET");
if ( msg_error() ) {
logf(ERROR, "%s - Change WF Task Group for CO %s failed: %s", func_name, chg.chg_ref_num, msg[0]);
} else {
if ( MACRO_DEBUG ) 
logf( SIGNIFICANT, "%s - WF Task (%s) Group set to CO %s Group", func_name, (string) id, chg.chg_ref_num);
} 
}

return;