Jump to content

Search the Community

Showing results for tags 'tickets'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • News
    • The Lounge
  • Community
    • Pre-Sales Questions
    • Support
    • The Marketplace
    • Contribute
    • Show Off
    • Feature Requests
    • Bugs
    • Contests
  • Developer Corner
    • General
    • Extensions
  • BlestaStore's Forum
  • BlestaStore's BlestaCMS
  • BlestaStore's Resellers
  • BlestaStore's BlestaForums
  • BlestaStore's Promotions
  • CubeData's Official Announcements From CubeData
  • CubeData's Peer Support
  • CubeData's Resellers
  • ModulesGarden Club's Topics
  • Blesta Addons's Topics

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL








Found 11 results

  1. UPDATED 09-05-2018 - Add an extra option on Suport Manager Pro in Plugin manager to showw All Companies Tickets. By default only shows the selected Companie Ticket, you can change it now to show all. Thanks to WebhostingNZ.com (not testes 100% because we dont have MultiCompany to test it ) - Optimised code. Removed some CSS and Javascript that was duplicated has latest Blesta alredy include in CORE - Some minor changes in Ticket Replay on Admin side to better display Notes, Replies, Logs UPDATED 15-03-2018 - Merged all Support Manager 2.12.0 Core compatible with latest PHP 7.0/7.1 - Fixed all issues found by blestares ( ) using on PHP 7.0 / 7.1 Note: Have to clean more code but is almost 95% clean now mostly change array into [ ] and " " into ' ' I have made alot of testing, but maybe I have miss something. If you found any bugs please tell me to start adding new features New Screen SHots 2016 (I will update the screen shots late this weekend to 2018 ones ) Added: GitHub repository to check, help, and download: https://github.com/qlpqlp/Blesta (have to update to 2018 code) BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! BEFORE ANY INSTALATION OR UPGRADE BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! How to Install (Only for Support Manager Pro and Blesta 4.2.2 or Above)? If you want all functionality of the "Support Manager Pro" and atthe same time have "Support Manager" original, just do: 1º- Download the full Suport Manager Pro Plugin here -> Download Support Manager Pro Plugin (updated 15-03-2018) 2º- Uncompress, and upload the folder "support_managerpro" to blesta /plugins/ directory. 3º- Go to Blesta Admin, and click on Setings->Company->Plugins->Available and it will list the "Support Manager Pro" plugin, just Click on "INSTALL" 4º- Now you will see on new menu item called "Support Pro". Now you have to configure everything like the original Support Manager. ==================================================================================================== BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! BEFORE ANY INSTALATION OR UPGRADE BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! - BACKUP!! ==================================================================================================== How to Upgrade (Only for Support Manager Pro and Blesta 4.2.2 or Above)? If you want all functionality of the "Support Manager Pro" and atthe same time have "Support Manager" original, just do: 1º- Download the full Suport Manager Pro Plugin here -> Download Support Manager Pro Plugin (updated 15-03-2018) 2º- Uncompress, and upload the folder "support_managerpro" to blesta /plugins/ directory. 3º- Go to Blesta Admin, and click on Setings->Company->Plugins and it will list the "Support Manager Pro" plugin, just Click on "UPGRADE" ==================================================================================================== 27-02-2014: A special thanks to CubicWebs for helping in the css marktup 13-03-2014: A special thanks to @cloudrck for helping in detecting a bug 15-03-2018: A special thanks to @velaware for helping in detecting a bug Any bugs or sugestions, tell us. We hope you like it Regards, PV
  2. I would greatly value the ability to search the content of tickets. You see, I can't quite believe that no one has suggested this yet for Blesta or WHMCS...but I want to search the content of tickets and I can't. I've taken a look at WHMCS and you can't do it with WHMCS either. Yet, it is a pretty standard feature of helpdesk software (of which I have used many). Customers never subject title their emails correctly (if at all!) and often talk about multiple issues under one ticket (which often has a vague subject line which doesn't cover it). Therefore, the need to search the messages of tickets is a must in my eyes and if it were achievable, would be a plus point for Blesta. It is possible that this hasn't been developed already because of the strain? to search ticket content, but if other software can achieve it...surely Blesta can too? Also submitted to: https://requests.blesta.com/topic/search-content-of-tickets (posted here for awareness)
  3. Hello - Have a quick question and maybe this will turn into a feature request (if it hasn't already), but I want to be able to add the Client's Name to the "Staff Ticket Updated" email that is sent out, that way it shows what client submitted the Ticket without having to login to find out. I tried using the following: Client Name: {contact.first_name} {contact.last_name} But that doesn't seem to display the Client's Name at all. Additionally, is there a tag that allows for a direct URL to the ticket itself, so that way you can click that URL and it brings you right to the Ticket itself? Thanks.
  4. Hello - When Accounts are created, typically the "business owner" is the primary Account Contact, however more often I am adding additional Contacts to the account for their Support Personnel and every time a response is submitted to a Ticket, the Primary Account Holder also gets an email. Is there a way to have it where if there is more then one Contact on the account, you can designate who Ticket Responses go to? I thought they only went back to the person who submitted the ticket but it was brought to me attention that the Primary Account Holder gets them as well. Maybe this needs to be a Feature Request for the Support Manager Plugin? Thanks in advance.
  5. Artis

    Active (open) tickets

    Hi, I have a question how to display indicator what tickets are currently open (without answer) as I don't want to click each time on tickets and see how many of them are not answered. Just for clarification https://prnt.sc/hv2gij how to show number of unanswered ticket and not ticket that I already answer and they are open?
  6. email going to spam folder and marked as spam [invoices/tickets/mails] all type emails all record set already on server spf rdns dkim.
  7. Hello - I am using the Support Portal plugin and have a quick question, is there something to enable administration notifications that a ticket had been sitting for X amount of days? Something that sends an email reminder to the Staff person it is assigned to in order to remind them they have a ticket in their queue? I have an employee who constantly forgets to reply to tickets after assigning them to himself and they often go unnoticed by others, would be nice if I could set it to "nag" if 24 hours has passed or something. Thanks in advance.
  8. I'm having trouble setting up the forwarder in cPanel as nothing seems to work. I tried both /usr/bin/php /home/username/public_html/blesta/plugins/support_manager/pipe.php /usr/local/bin/php /home/username/public_html/blesta/plugins/support_manager/pipe.php Blesta is in a subfolder named 'Blesta'. The error message I get is Action: failed Final-Recipient: rfc822;|/home/USERNAME/usr/local/bin/php /home/USERNAME/public_html/blesta/plugins/support_manager/pipe.php Status: 5.0.0 The path to pipe.php is correct - what else could be wrong? I also checked with my host & confirmed that Mailparse is installed & active.
  9. resolvent : $reply_data = array( 'ticket_id'=>9, 'vars' => array( 'ticket_id'=>9, 'staff_id' => null, // the reply is from this staff user 'client_id' => 2, // the reply is from this client user 'contact_id' => null, // the reply is from this client contact user 'type' => "reply", // this is a ticket reply 'details' => "API reply", // the ticket reply description 'status' => "open", // status of the ticket 'staff_id' => null, // the staff user the ticket is assigned to ), 'files' => null, 'new_ticket' => false // this reply is for a newly created ticket ); $response = $api->post("support_managerpro.support_managerpro_tickets", "addReply", $reply_data); ================================================================================================================================= Now i need to use api reply tickets. But I've had some problems. This is my code: $vars=array('ticket_id'=>9,'details'=>'API回复工单','action_type'=>'reply','type'=>'reply','staff_id'=>null,'contact_id'=>null,'status'=>'open'); $ticket= $api->post("support_managerpro.support_managerpro_tickets", "addReply",array("ticket_id"=>9,$vars)); print_r($ticket->raw()); when i use $ticket= $api->post("support_managerpro.support_managerpro_tickets", "addReply",array("ticket_id"=>9,$vars)); this page return {"message":"An unexpected error occured.","response":"Internal error: Failed to retrieve the default value"} when i use $ticket= $api->get("support_managerpro.support_managerpro_tickets", "addReply",array("ticket_id"=>9,$vars)); this page return this error info:{"message":"The requested resource does not exist.","response":null} What should I do to use API to achieve a reply?thanks! support_managerpro:: Model's addReply method(): /** * Adds a reply to a ticket. If ticket data (e.g. department_id, status, priority, summary) have changed * then this will also invoke SupportManagerproTickets::edit() to update the ticket, and record any log entries. * * Because of this functionality, this method is assumed to (and should) already be in a transaction when called, * and SupportManagerproTickets::edit() should not be called separately. * * @param int $ticket_id The ID of the ticket to reply to * @param array $vars A list of reply vars, including: * - staff_id The ID of the staff member this reply is from (optional) * - client_id The ID of the client this reply is from (optional) * - contact_id The ID of a client's contact that this reply is from (optional) * - type The type of reply (i.e. "reply, "note", "log") (optional, default "reply") * - details The details of the ticket (optional) * - department_id The ID of the ticket department (optional) * - summary The ticket summary (optional) * - priority The ticket priority (optional) * - status The ticket status (optional) * - ticket_staff_id The ID of the staff member the ticket is assigned to (optional) * @param array $files A list of file attachments that matches the global FILES array, which contains an array of "attachment" files * @param boolean $new_ticket True if this reply is apart of ticket being created, false otherwise (default false) * @return int The ID of the ticket reply on success, void on error */ public function addReply($ticket_id, array $vars, array $files = null, $new_ticket = false) { $vars['ticket_id'] = $ticket_id; $vars['date_added'] = date("c"); if (!isset($vars['type'])) $vars['type'] = "reply"; // Remove reply details if it contains only the signature if (isset($vars['details']) && isset($vars['staff_id'])) { if (!isset($this->SupportManagerproStaff)) Loader::loadModels($this, array("SupportManagerpro.SupportManagerproStaff")); $staff_settings = $this->SupportManagerproStaff->getSettings($vars['staff_id'], Configure::get("Blesta.company_id")); if (isset($staff_settings['signature']) && trim($staff_settings['signature']) == trim($vars['details'])) $vars['details'] = ""; } // Determine whether or not options have changed that need to be logged $log_options = array(); // "status" should be the last element in case it is set to closed, so it will be the last log entry added $loggable_fields = array('department_id' => "department_id", 'ticket_staff_id' => "staff_id", 'summary' => "summary", 'priority' => "priority", 'status' => "status"); if (!$new_ticket && (isset($vars['department_id']) || isset($vars['summary']) || isset($vars['priority']) || isset($vars['status']) || isset($vars['ticket_staff_id']))) { if (($ticket = $this->get($ticket_id, false))) { // Determine if any log replies need to be made foreach ($loggable_fields as $key => $option) { // Save to be logged iff the field has been changed if (isset($vars[$key]) && property_exists($ticket, $option) && $ticket->{$option} != $vars[$key]) $log_options[] = $key; } } } // Check whether logs are being added simultaneously, and if so, do not // add a reply iff no reply details, nor files, are attached // i.e. allow log entries to be added without a reply/note regardless of vars['type'] $skip_reply = false; if (!empty($log_options) && empty($vars['details']) && (empty($files) || empty($files['attachment']['name'][0]))) $skip_reply = true; if (!$skip_reply) { $this->Input->setRules($this->getReplyRules($vars, $new_ticket)); if ($this->Input->validates($vars)) { // Create the reply $fields = array("ticket_id", "staff_id", "contact_id", "type", "details", "date_added"); $this->Record->insert("support_repliespro", $vars, $fields); $reply_id = $this->Record->lastInsertId(); // Update reply ticket status to awaiting_reply if replyed by staff if (isset($vars['staff_id'])){ if ($vars['staff_id'] > 0 && $vars['type'] == "reply" && $vars['status'] != "awaiting_reply"){ $this->edit($vars['ticket_id'], array('status' => "awaiting_reply")); } } // Handle file upload if (!empty($files['attachment'])) { Loader::loadComponents($this, array("SettingsCollection", "Upload")); // Set the uploads directory $temp = $this->SettingsCollection->fetchSetting(null, Configure::get("Blesta.company_id"), "uploads_dir"); $upload_path = $temp['value'] . Configure::get("Blesta.company_id") . DS . "support_managerpro_files" . DS; $this->Upload->setFiles($files, false); $this->Upload->setUploadPath($upload_path); $file_vars = array('files' => array()); if (!($errors = $this->Upload->errors())) { // Will not overwrite existing file $this->Upload->writeFile("attachment", false, null, array($this, "makeFileName")); $data = $this->Upload->getUploadData(); // Set the file names/paths foreach ($files['attachment']['name'] as $index => $file_name) { if (isset($data['attachment'][$index])) { $file_vars['files'][] = array( 'name' => $data['attachment'][$index]['orig_name'], 'file_name' => $data['attachment'][$index]['full_path'] ); } } $errors = $this->Upload->errors(); } // Error, could not upload the files if ($errors) { $this->Input->setErrors($errors); // Attempt to remove the files if they were somehow written foreach ($file_vars['files'] as $files) { if (isset($files['file_name'])) @unlink($files['file_name']); } return; } else { // Add the attachments $file_fields = array("reply_id", "name", "file_name"); foreach ($file_vars['files'] as $files) { if (!empty($files)) $this->Record->insert("support_attachmentspro", array_merge($files, array('reply_id' => $reply_id)), $file_fields); } } } } } // Only attempt to update log options if there are no previous errors if (!empty($log_options) && !$this->errors()) { // Update the support ticket $data = array_intersect_key($vars, $loggable_fields); $ticket_staff_id_field = array(); if (isset($data['ticket_staff_id'])) $ticket_staff_id_field = (isset($data['ticket_staff_id']) ? array('staff_id' => $data['ticket_staff_id']) : array()); $this->edit($ticket_id, array_merge($data, $ticket_staff_id_field), false); if (!($errors = $this->errors())) { // Log each support ticket field change foreach ($log_options as $field) { $log_vars = array( 'staff_id' => (array_key_exists("staff_id", $vars) ? $vars['staff_id'] : $this->system_staff_id), 'type' => "log" ); $lang_var1 = ""; switch ($field) { case "department_id": $department = $this->Record->select("name")->from("support_departmentspro")-> where("id", "=", $vars['department_id'])->fetch(); $lang_var1 = ($department ? $department->name : ""); break; case "priority": $priorities = $this->getPriorities(); $lang_var1 = (isset($priorities[$vars['priority']]) ? $priorities[$vars['priority']] : ""); break; case "status": $statuses = $this->getStatuses(); $lang_var1 = (isset($statuses[$vars['status']]) ? $statuses[$vars['status']] : ""); break; case "ticket_staff_id": if (!isset($this->Staff)) Loader::loadModels($this, array("Staff")); $staff = $this->Staff->get($vars['ticket_staff_id']); if ($vars['ticket_staff_id'] && $staff) $lang_var1 = $staff->first_name . " " . $staff->last_name; else $lang_var1 = Language::_("SupportManagerproTickets.log.unassigned", true); default: break; } $log_vars['details'] = Language::_("SupportManagerproTickets.log." . $field, true, $lang_var1); $this->addReply($ticket_id, $log_vars); } } } // Return the ID of the reply if (isset($reply_id)) return $reply_id; }
  10. Hi, I know this issue has been brought to light a few times, but the solution has usually been to manually do some SQL and this is happening far too often for that to be a suitable fix for me. Version: Blesta 3.2.0 with all Plugins up-to-date. The problem: You can see there is an issue when logging in to the Admin Dashboard and looking at the System Status widget: "There are one or more cron tasks that have been executing for more than 60 minutes. View Automated Tasks." On digging in to the Tasks, the "Download Tickets" job is the issue. The spinner graphic continuously spins. The mail server and credentials are fine. How often: It happened once or twice previously, but since upgrading to 3.2.0 this has happened on either a weekly or sometimes daily basis. Sometimes the issue seems to fix itself (I know the lock file clears after 6 hours) but sometimes it's not suitable to wait this long and we are forced to use fixes detailed in the below threads. Hacky fixes used so far: http://www.blesta.com/forums/index.php?/topic/1805-there-are-one-or-more-cron-tasks-that-have-been-executing-for-more-than-60-minutes/ http://www.blesta.com/forums/index.php?/topic/1052-system-status-there-are-one-or-more-cron-tasks-that-have-been-executing-for-more-than-60-minutes/ Please can you take a look at this as soon as possible. Thank you, Daniel.
  11. I'm back again Im trying to get ticket email replys through to my support manager. I presume as i'm using the IMAP option, the email piping threads don't apply to me, at least the documentaion suggests this. In my department settings I have added an email and IMAP settings for an email i control; (the root domain, but not my blesta subdomian) for exapmle [email protected] My blesta install is at hosting.mydomain.com I assume as IMAP settings don't not care what the domain is, so long as the settings are correct. Is that right? So assuming my settings are correct... I use zoho for the email in question. Email: [email protected] Username: [email protected] Pasword: *************** SSL (port) 993 Host (IMAP server) imap.zoho.com The settings work on a client. so im sure it not a settings issue. However cron never works, just the same since I started testing my support manager setup. The 5 min cron for download tickets has never ran, all other cron tasks are fine, but this just keeps trying to run and the little animation keeps whirring around. When i look in cron logs there is nothing there about support emails. any ideas? PS I have deleted all the database entries in cron_task ID 19 as per this thread http://www.blesta.com/forums/index.php?/topic/4168-support-department-imap-not-working/?hl=imap%20support But still not working.
  • Create New...