[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [7769] property: notify project coordinators on close
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [7769] property: notify project coordinators on closed tickets |
Date: |
Sat, 01 Oct 2011 18:33:31 +0000 |
Revision: 7769
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=7769
Author: sigurdne
Date: 2011-10-01 18:33:30 +0000 (Sat, 01 Oct 2011)
Log Message:
-----------
property: notify project coordinators on closed tickets
Modified Paths:
--------------
trunk/property/inc/custom/default/varsle_prosjektoordinator_ved_avsluttet_relatert_melding_BBB.php
Modified:
trunk/property/inc/custom/default/varsle_prosjektoordinator_ved_avsluttet_relatert_melding_BBB.php
===================================================================
---
trunk/property/inc/custom/default/varsle_prosjektoordinator_ved_avsluttet_relatert_melding_BBB.php
2011-09-30 17:48:40 UTC (rev 7768)
+++
trunk/property/inc/custom/default/varsle_prosjektoordinator_ved_avsluttet_relatert_melding_BBB.php
2011-10-01 18:33:30 UTC (rev 7769)
@@ -1,15 +1,99 @@
<?php
$db = & $GLOBALS['phpgw']->db;
-
+//_debug_array($data);
+//_debug_array($id);
+ $_closed = false;
if(in_array('status', $this->fields_updated))
{
- $_status = (int) trim($data['status'],'C');
- $db->query("SELECT * from fm_tts_status WHERE id =
{$_status}",__LINE__,__FILE__);
- $this->db->next_record();
- if($db->f('closed'))
+ if($data['status'] == 'X')
{
- _debug_array($this->fields_updated);
+ $_closed = true;
}
+ else if(stripos($data['status'], 'C') === 0)
+ {
+ $_status = (int) trim($data['status'],'C');
+ $db->query("SELECT * from fm_tts_status WHERE id =
{$_status}",__LINE__,__FILE__);
+ $this->db->next_record();
+ if($db->f('closed'))
+ {
+ $_closed = true;
+ }
+ }
}
-
+ $projects = array();
+ if ($_closed) // take action
+ {
+ $interlink = CreateObject('property.interlink');
+ $targets = $interlink->get_relation('property', '.ticket', $id,
'target');
+ foreach ($targets as $target)
+ {
+ if($target['location'] == '.project')
+ {
+ foreach ($target['data'] as $_data)
+ {
+ $project =
execMethod('property.soproject.read_single', $_data['id']);
+ $projects[] = array
+ (
+ 'id' =>
$_data['id'],
+ 'coordinator' =>
$project['coordinator'],
+ 'link' =>
$_data['link'],
+ 'statustext' =>
$_data['statustext']
+ );
+ }
+ }
+ }
+
+ if (!is_object($GLOBALS['phpgw']->send))
+ {
+ $GLOBALS['phpgw']->send = CreateObject('phpgwapi.send');
+ }
+
+ $validator =
CreateObject('phpgwapi.EmailAddressValidator');
+ $socommon = CreateObject('property.socommon');
+
+ foreach ($projects as $project_info)
+ {
+ $prefs =
$socommon->create_preferences('property',$project_info['coordinator']);
+ $account_name =
$GLOBALS['phpgw']->accounts->get($project_info['coordinator'])->__toString();
+ if ($validator->check_email_address($prefs['email']))
+ {
+ // Email address is technically valid
+ // avoid problems with the delimiter in the
send class
+ if(strpos($account_name,','))
+ {
+ $_account_name = explode(',',
$account_name);
+ $account_name =
ltrim($_account_name[1]) . ' ' . $_account_name[0];
+ }
+
+ $_to = "{$account_name}<{$prefs['email']}>";
+ $from_name =
$GLOBALS['phpgw_info']['user']['fullname'];
+
+ if(strpos($from_name,','))
+ {
+ $_from_name = explode(',', $from_name);
+ $from_name = ltrim($_from_name[1]) . '
' . $_from_name[0];
+ }
+
+ $from_email =
"{$from_name}<{$GLOBALS['phpgw_info']['user']['preferences']['property']['email']}>";
+ $cc = '';
+ $bcc ='';
+ $subject = "Status er endret tor melding
tilknyttet prosjekt {$project_info['id']}";
+ $body ="<H2>{$subject}</H2>";
+ $body .= "</br><a
href='{$project_info['link']}'>{$subject}</a>";
+
+ try
+ {
+ $GLOBALS['phpgw']->send->msg('email',
$_to, $subject, stripslashes($body), '', $cc, $bcc, $from_email, $from_name,
'html', '');
+ }
+ catch (phpmailerException $e)
+ {
+ $receipt['error'][] = array('msg' =>
$e->getMessage());
+ }
+ }
+ else
+ {
+ $receipt['error'][] = array('msg'=>lang('This
user has not defined an email address !') . ' : ' . $account_name);
+ }
+ }
+ }
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [7769] property: notify project coordinators on closed tickets,
Sigurd Nes <=