Example #1
0
 public function all_implants()
 {
     //implant administration
     $genModel = model_load_model('generic_model');
     $viewData['impAdmin'] = $genModel->get_all_implants();
     load_fullview('implant_administration_view', $viewData);
 }
Example #2
0
 /**
  * @abstract Emails invoice due reminders at the 7 and 2 day intervals
  */
 function email_invoice_reminders()
 {
     $invoice_model = model_load_model('invoice_model');
     $sql = "SELECT *, DATEDIFF(duedate, CURDATE()) AS upcoming FROM invoice WHERE (DATEDIFF(duedate, CURDATE()) = 7 OR DATEDIFF(CURDATE(), duedate) = 2) AND paid = 0 AND remind = 1";
     $query = $this->db->query($sql);
     if ($query->num_rows() > 0) {
         echo "Found {$query->num_rows()} invoices to be mailed.\n";
         foreach ($query->result_array() as $row) {
             if ($invoice_model->select_email_remain_month($row['company_id'])) {
                 $message = "This is an automated email reminder that your invoice is due in {$row['upcoming']} days.";
                 $status = $invoice_model->mail_invoice($row['id'], FALSE, nl2br($message), 'Invoice Reminder', 'Your invoice is due soon.');
                 echo "Sending Invoice {$row['id']}:\n";
                 if ($status) {
                     echo "Success.\n";
                 } else {
                     echo "Faulure.\n";
                 }
             } else {
                 echo "Company {$row['company_id']} has an automated email to send but has ran out of emails.\n";
             }
         }
     } else {
         echo "There are no invoices to be sent today.\n";
     }
 }
Example #3
0
function load_basic_model($tablename)
{
    $CI =& get_instance();
    $basicModel = model_load_model('basic_model');
    $basicModel->tablename = $tablename;
    return $basicModel;
}
Example #4
0
 public function all_wastages()
 {
     $target = 'all_wastages';
     $viewData['target'] = $target;
     $genModel = model_load_model('generic_model');
     $viewData['wastages'] = $genModel->get_report_all_wastages();
     load_fullview('reports/report_template', $viewData);
 }
Example #5
0
 public function get_user($search_string = null, $order = null, $order_type = 'DESC', $limit_start = null, $limit_end = null, $wherestatus = null, $user_id)
 {
     $get_parent_userids = model_load_model('user_role_extended_model')->get_user_role_extended_by_field_array(array("parent_user_id"), array(Access_level::session_user_id()));
     $this->db->select('*');
     $this->db->from('order');
     $this->db->where('user_id', $user_id);
     $query = $this->db->get();
     return $query->result_array();
 }
Example #6
0
 public function index()
 {
     $genModel = model_load_model('generic_model');
     $viewData['wastage'] = $genModel->get_all_wastage();
     $sitesModel = load_basic_model('sites');
     $viewData['sites'] = $sitesModel->get();
     $batchModel = load_basic_model('drug_batch');
     $viewData['batches'] = $batchModel->get();
     load_fullview('manage_wastage_view', $viewData);
 }
Example #7
0
 public function index()
 {
     check_session();
     //  get user roles
     $roleModel = load_basic_model('user_roles');
     $viewData['userRoles'] = $roleModel->get();
     //  get all users
     $genModel = model_load_model('generic_model');
     $viewData['users'] = $genModel->get_all_users();
     load_fullview('user_management_view', $viewData);
 }
 public function index()
 {
     $genModel = model_load_model('generic_model');
     $viewData['deliveries'] = $genModel->get_all_deliveries();
     //get all sites data
     $sitesModel = load_basic_model('sites');
     $viewData['sites'] = $sitesModel->get();
     //get all batch data
     $batchModel = load_basic_model('drug_batch');
     $viewData['batches'] = $batchModel->get();
     load_fullview('manage_delivery_view', $viewData);
 }
 /**
  * Fetch user data from the database
  * possibility to mix search, filter and order
  * @param string $search_string
  * @param strong $order
  * @param string $order_type
  * @param int $limit_start
  * @param int $limit_end
  * @return array
  */
 public function get_user($search_string = null, $order = null, $order_type = 'DESC', $limit_start = null, $limit_end = null, $wherestatus = null)
 {
     $get_parent_userids = model_load_model('user_role_extended_model')->get_user_role_extended_by_field_array(array("parent_user_id"), array(Access_level::session_user_id()));
     $this->db->select('*');
     $this->db->from('user');
     $this->db->where('user_type', 'operator');
     $parent_ids[] = Access_level::session_user_id();
     switch (Access_level::session_user_type()) {
         case 'super_admin':
             break;
         case 'admin':
             for ($i = 0; $i < count($get_parent_userids); $i++) {
                 $parent_ids[] = $get_parent_userids[$i]['user_id'];
             }
             break;
         default:
             break;
     }
     $parent_string = implode(",", $parent_ids);
     if (Access_level::session_user_type() != 'super_admin') {
         $this->db->where("user_id IN ({$parent_string})");
     }
     if ($wherestatus != null) {
         $this->db->where('status', $wherestatus);
     }
     //$this->db->order_by('status', 'Active');
     if ($search_string) {
         if ($order == 'language_interface') {
             $this->load->model('site_language_model');
             //$language_interface = $this->site_language_model->get_language_by_id();
             //$lang = !empty($language_interface[0]['language_longform']) ? $language_interface[0]['language_longform'] : '--';
             $this->db->join('site_language', 'user.language_interface = site_language.site_language_id');
             $order = 'site_language.language_longform';
         }
         $this->db->like($order, $search_string);
     }
     $this->db->group_by('user_id');
     if ($order) {
         $this->db->order_by($order, $order_type);
     } else {
         $this->db->order_by('user_id', $order_type);
     }
     if ($limit_start && $limit_end) {
         $this->db->limit($limit_start, $limit_end);
     }
     if ($limit_start != null) {
         $this->db->limit($limit_start, $limit_end);
     }
     $query = $this->db->get();
     return $query->result_array();
 }
Example #10
0
function site_email($userData)
{
    $email_title = config_item('howToUseSite');
    $templatesModel = model_load_model('templates_model');
    $where_template = array('template_subject' => $email_title);
    $templateData = $templatesModel->get($where_template, $single = TRUE);
    // @todo: there may be some changes in email of how to use site
    //        $search = array(
    //            'ID', 'TOKEN'
    //        );
    //        $replace = array(
    //            $userData['user_id'], strtotime($userData['user_created'])
    //        );
    //        $templateBody = str_replace($search, $replace, $templateData['template_body']);
    $email_data = array('from' => config_item('email_from'), 'username' => $userData['user_firstname'], 'subject' => $templateData['template_subject'], 'message' => $templateData['template_body'], 'to' => $userData['user_email']);
    $email_result = send_email($email_data);
    return $email_result;
}
Example #11
0
 public function index()
 {
     //clinicalData
     $basicModal = load_basic_model('clinical_data');
     $viewData['clinicalData'] = $basicModal->get();
     //batchData
     $genModel = model_load_model('generic_model');
     $viewData['batchData'] = $genModel->get_all_batches();
     //deliverires lData
     $viewData['deliveries'] = $genModel->get_all_deliveries();
     //sites Data
     $sitesModal = load_basic_model('sites');
     $viewData['sites'] = $sitesModal->get();
     //wastage Data
     $genModel = model_load_model('generic_model');
     $viewData['wastage'] = $genModel->get_all_wastage();
     //implant administration
     $genModel = model_load_model('generic_model');
     $viewData['impAdmin'] = $genModel->get_imp_administrations();
     load_fullview('dashboard', $viewData);
 }
Example #12
0
 /**
  * @param int $invoice_id The ID of the invoice the email is based on
  * @param string $recipient The email address of the recipient
  * @param string $message Message text placed inside the HTML invoice
  * @param string $email_title The title of the email
  * @param string $email_subtitle The subtitle of the email, used in the HTML invoice
  * @return bool True if the email was sent properly, False if there was an error
  * @abstract Sends an HTML invoice to the recipient. Updates the number of sent emails, generates and attaches a PDF invoice
  * @see insert_sent_mail(), generate_pdf()
  */
 function mail_invoice($invoice_id, $recipient, $message, $email_title, $email_subtitle = '', $cc_sender)
 {
     $this->load->library('email');
     $company_model = model_load_model('company_model');
     $expense_model = model_load_model('expense_model');
     $invoice = $this->invoice_model->select_single($invoice_id);
     if (!$recipient) {
         $recipient = $invoice['client_email'];
     }
     $data['message'] = $message;
     $data['title'] = $email_title;
     $data['subtitle'] = $email_subtitle;
     $data['invoice'] = $invoice;
     $data['company'] = $company_model->select_single($data['invoice']['company_id']);
     $data['expenses'] = $expense_model->select_multiple($invoice_id);
     if ($invoice['itemize']) {
         $data['segments'] = $this->select_segments_by_invoice($invoice_id);
     } else {
         $data['segments'] = FALSE;
     }
     $html = $this->load->view('mail_templates/reminder', $data, TRUE);
     $pdf_filename = 'system/cache/invoice-' . md5($this->session->userdata('company_id') . '-' . $invoice_id) . '.pdf';
     $this->invoice_model->generate_pdf($invoice_id, FALSE, $pdf_filename);
     $this->email->initialize(array('mailtype' => 'html', 'useragent' => 'NeoInvoice'));
     $this->email->from($this->session->userdata('email'), $this->session->userdata('name'));
     $this->email->to($recipient);
     $this->email->subject($email_title);
     $this->email->message($html);
     $this->email->attach($pdf_filename);
     $this->invoice_model->insert_sent_email($this->session->userdata('company_id'), $invoice_id, $recipient);
     $status = $this->email->send();
     if ($status) {
         $this->update($invoice_id, array('sent' => 1));
     }
     if ($cc_sender) {
         $this->email->initialize(array('mailtype' => 'html', 'useragent' => 'NeoInvoice'));
         $this->email->from($this->session->userdata('email'), $this->session->userdata('name'));
         $this->email->to($this->session->userdata('email'));
         $this->email->subject($email_title);
         $this->email->message($html);
         $this->invoice_model->insert_sent_email($this->session->userdata('company_id'), $invoice_id, $recipient);
         $this->email->send();
     }
     $this->email->clear(TRUE);
     unlink($pdf_filename);
     return $status;
 }
Example #13
0
 public function calculate_implants()
 {
     $post = $this->input->post(null, TRUE);
     $genModel = model_load_model('generic_model');
     $result1 = $genModel->get_batch_deliveries($post);
     $result2 = $genModel->total_implants_for_batch($post);
     $result['deliveries'] = $result1;
     $result['total'] = $result2;
     echo json_encode($result);
 }