public $active;
public $bcc_group_id;
public $test_class;
-
-
-
+
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
");
if (!empty($_REQUEST['_hide_system_emails'])) {
- $this->whereAdd(" name NOT IN (
- 'EVENT_ERRORS_REPORT'
- )");
+ $this->whereAddIn("!{$this->tableName()}.name", array('EVENT_ERRORS_REPORT'), 'string');
}
}
$c = DB_DataObject::factory('core_group_member');
$c->group_id = $this->to_group_id;
- if (!$c->count()) {
- //cannot go to second check
- if (!empty($request['_ignore_group_count'])) {
- if (!$request['_ignore_group_count']) {
- $roo->jerr('no_member',array('errcode'=> 100));
- }
- } else {
- $roo->jerr('no_member',array('errcode'=> 100));
- }
+ if (!$c->count() && empty($request['_ignore_group_count'])) {
+ $roo->jerr('Failed to create email template - No member found in recieptent group',array('errcode'=> 100));
}
-
}
}
if (!empty($this->bcc_group_id) && $this->bcc_group_id > 0 && empty($contents['bcc']) && empty($contents['rcpts_group'])) {
$admin_grp = DB_DAtaObject::Factory('core_group')->load($this->bcc_group_id);
- $admin = $admin_grp->members('email');
+
+ $admin = $admin_grp ? $admin_grp->members('email') : false;
if (empty($admin) && $admin_grp->name != 'Empty Group') { // allow 'empty group mname'
return $p->raiseError("template [{$contents['template']}] - bcc group is empty");
}
$contents['rcpts'] = $admin;
}
-
+ if (empty($contents['rcpts']) && $this->to_group_id > 0) {
+ $members = $this->to_group()->members();
+ $contents['rcpts'] = array();
+ foreach($this->to_group()->members() as $m) {
+ $contents['rcpts'][] = $m->email;
+ }
+ //var_dump($contents['rcpts']);
+
+ }
//subject replacement
if(empty($contents['subject'])){
$contents['subject'] = $this->subject;
}
+ function testData($person, $dt , $core_notify)
+ {
+
+ // should return the formated email???
+ $pg = HTML_FlexyFramework::get()->page;
+
+
+
+
+ if(empty($this->test_class)){
+ $pg->jerr("[{$this->name}] does not has test class");
+ }
+
+ require_once "{$this->test_class}.php";
+
+ $cls = str_replace('/', '_', $this->test_class);
+
+ $x = new $cls;
+
+ $method = "test_{$this->name}";
+
+ if(!method_exists($x, $method)){
+ $pg->jerr("{$method} does not exists in {$cls}");
+ }
+
+ $content = $x->{$method}($this, $person);
+ $content['to'] = $person->getEmailFrom();
+
+ $content['bcc'] = array();
+ $data = $this->toMailerData($content);
+ return $data;
+
+
+ }
+ function to_group()
+ {
+ $g = DB_DataObject::Factory('core_group');
+ $g->get($this->to_group_id);
+ return $g;
+ }
}