Example #1
0
 public function testUserDateFormat()
 {
     $gmt_default_date_start = $this->time_date->get_gmt_db_datetime();
     $date1 = $this->time_date->handle_offset($gmt_default_date_start, $GLOBALS['timedate']->get_date_time_format());
     $date2 = $this->time_date->asUser($this->time_date->getNow());
     $this->assertEquals($date1, $date2, "HandleOffset should be equaivalent to nowDb");
 }
function CustomScheduler()
{
    global $sugar_config, $db;
    $timeDate = new TimeDate();
    $timeDateNow = $timeDate->getNow(true)->asDb();
    $days_offset = 15;
    $GLOBALS['log']->fatal("Checking Opportunities...");
    $query = "select opportunities.id from opportunities\n\twhere opportunities.sales_stage != 'Closed Won'\n\tand DATEDIFF(opportunities.date_modified,'" . $timeDateNow . "') < " . $days_offset . "\n\tand !opportunities.deleted";
    $GLOBALS['log']->fatal("Query: " . $query);
    $res = $db->query($query, true, 'Error: ');
    while ($row = $db->fetchByAssoc($res)) {
        $opportunity = new Opportunity();
        if (!is_null($opportunity->retrieve($row['id']))) {
            $user = new User();
            if (!is_null($user->retrieve($opportunity->assigned_user_id))) {
                $emailsTo = array();
                $emailSubject = "Opportunity Alert";
                $emailBody = "The following Opportunity has " . $days_offset . " days without changes.<br /><br />\n\t\t\t\tName: " . $opportunity->name . "<br />\n\t\t\t\tAccount: " . $opportunity->account_name . "<br />\n\t\t\t\tAmount: " . $opportunity->amount . "<br />\n\t\t\t\tSales Stage: " . $opportunity->sales_stage . "<br />\n\t\t\t\tDate Close: " . $opportunity->date_closed . "<br /><br />\n\t\t\t\tYou can see the opportunity here:<br />\n\t\t\t\t<a href=\"" . $sugar_config['site_url'] . "/index.php?module=Opportunities&action=DetailView&record=" . $opportunity->id . "\">" . $opportunity->name . "</a>";
                $emailsTo[] = $user->email1;
                SendEmail($emailsTo, $emailSubject, $emailBody);
            }
        }
    }
    $GLOBALS['log']->fatal("Opportunities checked");
    return true;
}
 function CreateTaskAndCallForNewOpportunity($bean)
 {
     $timeDate = new TimeDate();
     if (empty($bean->fetched_row['id'])) {
         $task = new Task();
         $task->name = "Send Proposal";
         $task->priority = "High";
         $task->status = "Not Started";
         $task->date_due = $timeDate->getNow(true)->modify("+1 days")->asDb();
         $task->parent_type = "Opportunities";
         $task->parent_id = $bean->id;
         $task->assigned_user_id = $bean->assigned_user_id;
         $task->save();
         $call = new Call();
         $call->name = "Follow up";
         $call->direction = "Outbound";
         $call->status = "Planned";
         $call->duration_hours = 0;
         $call->duration_minutes = 15;
         $call->date_start = $timeDate->getNow(true)->modify("+2 days")->asDb();
         $call->parent_type = "Opportunities";
         $call->parent_id = $bean->id;
         $call->assigned_user_id = $bean->assigned_user_id;
         $call->save();
     }
 }
Example #4
0
 /**
  * handleDateFormat
  *
  * This function handles returning a datetime value.  It allows a user instance to be passed in, but will default to the
  * user member variable instance if none is found.
  *
  * @param string $date String value of the date to calculate, defaults to 'now'
  * @param object $user The User instance to use in calculating the time value, if empty, it will default to user member variable
  * @param boolean $user_format Boolean indicating whether or not to convert to user's time format, defaults to false
  *
  * @return string Formatted datetime value
  */
 function handleDateFormat($date = 'now', $user = null, $user_format = false)
 {
     global $timedate;
     if (!isset($timedate) || empty($timedate)) {
         $timedate = new TimeDate();
     }
     // get user for calculation
     $user = empty($user) ? $this->user : $user;
     if ($date == 'now') {
         $dbTime = $timedate->asUser($timedate->getNow(), $user);
     } else {
         $dbTime = $timedate->asUser($timedate->fromString($date, $user), $user);
     }
     // if $user_format is set to true then just return as th user's time format, otherwise, return as database format
     return $user_format ? $dbTime : $timedate->fromUser($dbTime, $user)->asDb();
 }
    if (empty($contact->last_name)) {
        $contact->last_name = $contact_last_name;
    }
    if (empty($contact->mobile)) {
        $contact->mobile = $contact_mobile;
    }
    if (empty($contact->assigned_user_id)) {
        $contact->assigned_user_id = 1;
    }
    $contact->save();
} else {
    $contact->first_name = $contact_first_name;
    $contact->last_name = $contact_last_name;
    $contact->email1 = $contact_email;
    $contact->mobile = $contact_mobile;
    $contact->assigned_user_id = 1;
    $contact->save();
    $contact->load_relationship('accounts');
    $contact->accounts->add($account->id);
}
// Create the Opportunity
$opportunity = new Opportunity();
$opportunity->name = $opportunity_name;
$opportunity->amount = $opportunity_amount;
$opportunity->date_closed = $timeDate->getNow(true)->asDbDate();
$opportunity->sales_stage = "Closed Won";
$opportunity->account_id = $account->id;
$opportunity->assigned_user_id = 1;
$opportunity->save();
$opportunity->load_relationship('contacts');
$opportunity->contacts->add($contact->id);