fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [16763] more on eventplanner


From: sigurdne
Subject: [Fmsystem-commits] [16763] more on eventplanner
Date: Sun, 21 May 2017 13:58:41 -0400 (EDT)

Revision: 16763
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16763
Author:   sigurdne
Date:     2017-05-21 13:58:40 -0400 (Sun, 21 May 2017)
Log Message:
-----------
more on eventplanner

Modified Paths:
--------------
    trunk/eventplanner/inc/class.bobooking.inc.php
    trunk/eventplanner/setup/phpgw_no.lang
    trunk/eventplanner/templates/base/config.tpl

Modified: trunk/eventplanner/inc/class.bobooking.inc.php
===================================================================
--- trunk/eventplanner/inc/class.bobooking.inc.php      2017-05-20 18:07:51 UTC 
(rev 16762)
+++ trunk/eventplanner/inc/class.bobooking.inc.php      2017-05-21 17:58:40 UTC 
(rev 16763)
@@ -10,20 +10,19 @@
         * @subpackage booking
         * @version $Id:$
         */
-
        /*
-          This program is free software: you can redistribute it and/or modify
-          it under the terms of the GNU General Public License as published by
-          the Free Software Foundation, either version 2 of the License, or
-          (at your option) any later version.
+         This program is free software: you can redistribute it and/or modify
+         it under the terms of the GNU General Public License as published by
+         the Free Software Foundation, either version 2 of the License, or
+         (at your option) any later version.
 
-          This program is distributed in the hope that it will be useful,
-          but WITHOUT ANY WARRANTY; without even the implied warranty of
-          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-          GNU Lesser General Public License for more details.
+         This program is distributed in the hope that it will be useful,
+         but WITHOUT ANY WARRANTY; without even the implied warranty of
+         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+         GNU Lesser General Public License for more details.
 
-          You should have received a copy of the GNU General Public License
-          along with this program.  If not, see <http://www.gnu.org/licenses/>.
+         You should have received a copy of the GNU General Public License
+         along with this program.  If not, see <http://www.gnu.org/licenses/>.
         */
 
        phpgw::import_class('phpgwapi.bocommon');
@@ -33,6 +32,7 @@
 
        class eventplanner_bobooking extends phpgwapi_bocommon
        {
+
                protected static
                        $bo,
                        $fields,
@@ -58,10 +58,10 @@
                        return self::$bo;
                }
 
-               public function store($object)
+               public function store( $object )
                {
                        $save_last_booking = false;
-                       if(!$object->get_id())
+                       if (!$object->get_id())
                        {
                                $save_last_booking = true;
                        }
@@ -68,9 +68,15 @@
 
                        $this->store_pre_commit($object);
                        $ret = 
eventplanner_sobooking::get_instance()->store($object);
-                       if($ret && $save_last_booking)
+                       if ($ret && $save_last_booking)
                        {
                                phpgwapi_cache::system_set('eventplanner', 
"last_booking{$object->customer_id}", time());
+
+
+                               /**
+                                * Send email receipt...
+                                */
+                               $this->send_email($object);
                        }
 
                        $this->store_post_commit($object);
@@ -77,10 +83,202 @@
                        return $ret;
                }
 
-               public function read($params)
+               public function send_email( $booking )
                {
+                       if 
(empty($GLOBALS['phpgw_info']['server']['smtp_server']))
+                       {
+                               phpgwapi_cache::message_set(lang('SMTP server 
is not set! (admin section)'), 'error');
+                               return false;
+                       }
+
+                       $config = CreateObject('phpgwapi.config', 
'eventplanner')->read();
+//                     _debug_array($booking);
+
+                       $customer_contact_name = 
$booking->customer_contact_name;
+                       $customer_contact_email = 
$booking->customer_contact_email;
+                       $customer_contact_phone = 
$booking->customer_contact_phone;
+                       $location = $booking->location;
+
+                       $from_ = 
$GLOBALS['phpgw']->common->show_date($booking->from_);
+                       $to_ = 
$GLOBALS['phpgw']->common->show_date($booking->to_);
+
+
+                       $calendar_id = $booking->calendar_id;
+                       $calendar = 
createObject('eventplanner.bocalendar')->read_single($calendar_id, true, 
$relaxe_acl = true);
+                       $application = 
createObject('eventplanner.boapplication')->read_single($calendar->application_id,
 true, $relaxe_acl = true);
+//                     _debug_array($application);
+
+
+                       $vendor_contact_name = $application->contact_name;
+                       $vendor_contact_email = $application->contact_email;
+                       $vendor_contact_phone = $application->contact_phone;
+                       $vendor_receipt_text = 
!empty($config['vendor_receipt_text']) ? $config['vendor_receipt_text'] : null;
+                       $customer_receipt_text = 
!empty($config['customer_receipt_text']) ? $config['customer_receipt_text'] : 
null;
+
+                       $event_title = $application->title;
+
+                       $subject = $event_title;
+
+                       $send = CreateObject('phpgwapi.send');
+
+                       $lang_when = lang('when');
+                       $lang_where = lang('where');
+
+                       $body  = <<<HTML
+                               <h2>{$event_title}</h2>
+                               <table>
+                                       <tr>
+                                               <td>
+                                                       {$lang_when}:
+                                               </td>
+                                               <td>
+                                                       {$from_} - {$to_}
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                                       {$lang_where}:
+                                               </td>
+                                               <td>
+                                                       {$location}
+                                               </td>
+                                       </tr>
+                               </table>
+HTML;
+
+                       $lang_vendor = lang('vendor');
+                       $lang_customer = lang('customer');
+                       $lang_contact_info = lang('contact info');
+
+                       $body .= <<<HTML
+                       <table border='1' class='pure-table pure-table-bordered 
pure-table-striped'>
+                               <thead>
+                                       <tr>
+                                               <th colspan="2" align = "left">
+                                                       {$lang_contact_info}
+                                               </th>
+                                       </tr>
+                               </thead>
+                               <tbody>
+                                       <tr>
+                                               <td>
+                                                       <b>{$lang_vendor}</b>
+                                               </td>
+                                               <td>
+                                                       {$vendor_contact_name}
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                               </td>
+                                               <td>
+                                                       {$vendor_contact_email}
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                               </td>
+                                               <td>
+                                                       {$vendor_contact_phone}
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                               </td>
+                                               <td>
+
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                                       <b>{$lang_customer}</b>
+                                               </td>
+                                               <td>
+                                                       {$customer_contact_name}
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                               </td>
+                                               <td>
+                                                       
{$customer_contact_email}
+                                               </td>
+                                       </tr>
+                                       <tr>
+                                               <td>
+                                               </td>
+                                               <td>
+                                                       
{$customer_contact_phone}
+                                               </td>
+                                       </tr>
+
+                               </tbody>
+                       </table>
+HTML;
+
+
+                       $vendor_receipt_text = 
!empty($config['vendor_receipt_text']) ? $config['vendor_receipt_text'] : null;
+
+                       if($vendor_receipt_text)
+                       {
+
+                               $lang_vendor_note = lang('vendor note');
+                               $body .= <<<HTML
+                               <h4>{$lang_vendor_note}</h4>
+                               <pre>{$vendor_receipt_text}</pre>
+HTML;
+
+                       }
+                       $customer_receipt_text = 
!empty($config['customer_receipt_text']) ? $config['customer_receipt_text'] : 
null;
+
+                       if($customer_receipt_text)
+                       {
+
+                               $lang_customer_note = lang('customer note');
+                               $body .= <<<HTML
+                               <h4>{$lang_customer_note}</h4>
+                               <pre>{$customer_receipt_text}</pre>
+HTML;
+
+                       }
+
+                       $content = <<<HTML
+<!DOCTYPE HTML>
+<html>
+       <head>
+               <meta charset="utf-8">
+       </head>
+       <body>
+               {$body}
+       </body>
+</html>
+HTML;
+
+                       /**
+                        * Vendor
+                        */
+                       $cc = $customer_contact_email;
+                       $bcc = '';
+                       $to_email = $vendor_contact_email;
+                       $from_email = $customer_contact_email;
+                       $from_name = $customer_contact_name;
+
+                       try
+                       {
+                               $rcpt = $send->msg('email', $to_email, 
$subject, stripslashes($content), '', $cc, $bcc, $from_email, $from_name, 
'html');
+                       }
+                       catch (phpmailerException $e)
+                       {
+                               phpgwapi_cache::message_set($e->getMessage(), 
'error');
+                       }
+
+                       return$rcpt;
+               }
+
+               public function read( $params )
+               {
                        $status_text = array(lang('inactive'), lang('active'));
-                       if(empty($params['filters']['active']))
+                       if (empty($params['filters']['active']))
                        {
                                $params['filters']['active'] = 1;
                        }
@@ -88,7 +286,7 @@
                        {
                                unset($params['filters']['active']);
                        }
-                       $values =  
eventplanner_sobooking::get_instance()->read($params);
+                       $values = 
eventplanner_sobooking::get_instance()->read($params);
                        $dateformat = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
                        foreach ($values['results'] as &$entry)
                        {
@@ -101,7 +299,7 @@
                        return $values;
                }
 
-               public function read_single($id, $return_object = true)
+               public function read_single( $id, $return_object = true )
                {
                        if ($id)
                        {
@@ -119,77 +317,4 @@
                {
                        return 
eventplanner_sobooking::get_instance()->get_booking_id_from_calendar($calendar_id);
                }
-
-/*             public function update_active_status( $ids, $action )
-               {
-                       if($action == 'enable' && $ids)
-                       {
-                               $_ids = array();
-                               $application_id = 
eventplanner_sobooking::get_instance()->read_single($ids[0], 
true)->application_id;
-
-                               $application = 
createObject('eventplanner.boapplication')->read_single($application_id);
-                               $params = array();
-                               $params['filters']['active'] = 1;
-                               $params['filters']['application_id'] = 
$application_id;
-
-                               $bookings =  
eventplanner_sobooking::get_instance()->read($params);
-
-                               $existing_booking_ids = array();
-                               foreach ($bookings['results'] as $booking)
-                               {
-                                       $existing_booking_ids[] = 
$booking['id'];
-                               }
-
-                               $number_of_active = 
(int)$bookings['total_records'];
-                               $limit = (int)$application->num_granted_events;
-
-                               $error = false;
-                               foreach ($ids as $id)
-                               {
-                                       if(in_array($id, $existing_booking_ids) 
)
-                                       {
-                                               continue;
-                                       }
-                                       if($limit > $number_of_active)
-                                       {
-                                               $_ids[] = $id;
-                                               $number_of_active ++;
-                                       }
-                                       else
-                                       {
-                                               $error = true;
-                                               $message = lang('maximum of 
granted events are reached');
-                                               
phpgwapi_cache::message_set($message, 'error');
-                                               break;
-                                       }
-                               }
-                               if($ids && !$_ids && !$error)
-                               {
-                                       return true;
-                               }
-                       }
-                       else if ($action == 'delete' && $ids)
-                       {
-                               foreach ($ids as $id)
-                               {
-                                       $booking = 
eventplanner_sobooking::get_instance()->read_single($id, true);
-                                       if(!$booking->customer_id)
-                                       {
-                                               $_ids[] = $id;
-                                       }
-                                       else
-                                       {
-                                               $message = lang('can not delete 
booking with customer');
-                                               
phpgwapi_cache::message_set($message, 'error');
-                                       }
-                               }               
-                       }
-                       else
-                       {
-                               $_ids = $ids;
-                       }
-
-                       return 
eventplanner_sobooking::get_instance()->update_active_status($_ids, $action);
-               }
-*/
        }
\ No newline at end of file

Modified: trunk/eventplanner/setup/phpgw_no.lang
===================================================================
--- trunk/eventplanner/setup/phpgw_no.lang      2017-05-20 18:07:51 UTC (rev 
16762)
+++ trunk/eventplanner/setup/phpgw_no.lang      2017-05-21 17:58:40 UTC (rev 
16763)
@@ -124,4 +124,11 @@
 summary        eventplanner    no      kortversjon programbeskrivelse
 organization number already exists for %1      eventplanner    no      
Organisasjonsnummeret er allerede registrert på %1.
 you need to log in to access this page.        eventplanner    no      Du må 
logge deg på for å få tilgang til denne siden.
-do you represent the owner of this entry?      eventplanner    no      
Representerer du eieren av denne posten?
\ No newline at end of file
+do you represent the owner of this entry?      eventplanner    no      
Representerer du eieren av denne posten?
+contact info   eventplanner    no      Kontaktinformasjon
+vendor note    eventplanner    no      Generelt for utøver
+customer note  eventplanner    no      Generelt for Mottakersted
+when   eventplanner    no      Når
+where  eventplanner    no      Hvor
+vendor receipt text    eventplanner    no      utøvernotat ved kvittering
+customer receipt text  eventplanner    no      Mottakerstednotat ved kvittering
\ No newline at end of file

Modified: trunk/eventplanner/templates/base/config.tpl
===================================================================
--- trunk/eventplanner/templates/base/config.tpl        2017-05-20 18:07:51 UTC 
(rev 16762)
+++ trunk/eventplanner/templates/base/config.tpl        2017-05-21 17:58:40 UTC 
(rev 16763)
@@ -20,6 +20,18 @@
                                <input type="number" 
name="newsettings[booking_interval]" value="{value_booking_interval}">
                        </td>
                </tr>
+               <tr>
+                       <td>{lang_vendor_receipt_text}:</td>
+                       <td>
+                               <textarea  
name="newsettings[vendor_receipt_text]">{value_vendor_receipt_text}</textarea>
+                       </td>
+               </tr>
+               <tr>
+                       <td>{lang_customer_receipt_text}:</td>
+                       <td>
+                               <textarea  
name="newsettings[customer_receipt_text]">{value_customer_receipt_text}</textarea>
+                       </td>
+               </tr>
 
                <!-- END body -->
                <!-- BEGIN footer -->




reply via email to

[Prev in Thread] Current Thread [Next in Thread]