Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Adam last won the day on August 20

Adam had the most liked content!

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
    California, USA

Recent Profile Visitors

1,872 profile views
  1. Hi Cats! Running version 5.1.2 of Blesta and Cerb 10.0.5 I was able to reproduce part of your problems. I went ahead and opened an issue on GitHub: https://github.com/SolidNetSoftware/plugin-cerberus/issues/5 and fixed what I could reproduce: Enforce services to be selected by users This should remove the "undefined index" error you were getting. I was not able to reproduce any of the other errors you mentioned. I created a client that has 2 services and one that 0 services. The client with 2 services is able to select the services from the drop down without issue and switch between them. The client with 0 services will see an empty dropdown and the Create Ticket button is disabled. If you have a custom theme, I am guessing that is what is causing issues. Hopefully the new version I released will offer more compatibility with custom themes. Please let me know either way. https://github.com/SolidNetSoftware/plugin-cerberus/releases/tag/v1.3.1 Follow the upgrade process here: https://docs.solidnet.software/blesta-cerb/getting-started/upgrade/ -Adam
  2. FYI: Blesta-Cerb plugin 1.3.0 released and it supports Blesta 5.0.x https://github.com/SolidNetSoftware/plugin-cerberus/releases/tag/v1.3.0 Follow the upgrade process here: https://docs.solidnet.software/blesta-cerb/getting-started/upgrade/ Cerb 10.x testing is starting now. -Adam
  3. Cats, Plugin has been updated to address this issue. v.1.20 has been tested and releasted with the latest version of Cerb and Blesta 4 series. Blesta 5 support is being test now. https://github.com/SolidNetSoftware/plugin-cerberus/issues/1 https://github.com/SolidNetSoftware/plugin-cerberus/releases/tag/v1.2.0 Follow the upgrade process here: https://docs.solidnet.software/blesta-cerb/getting-started/upgrade/ Thanks, -Adam
  4. Hi Cats, I was able to re-create the issue you described in my staging environment running Cerb 9.6.8. None of the standard bot behaviors that Cerb offers is able to alert workers of the participates in a ticket that one was opened. I suspect this is an issue with Cerb as I noticed the activity log does not record the ticket being assigned or moved to any group or bucket. I have sent an email to the Cerb team to see if this is an issue with Cerb or how I am using their ReST API. I will let you know the outcome. Thanks! -Adam
  5. You should contact your webhost who gave you the Blesta license for Blesta help. https://docs.blesta.com/display/support/Getting+Support
  6. Ya, I got that from your first message. My comment regarding invoices and pricing was looking at the API for modules there is no function that delegates invoices or pricing to any module. That is all part of the core components of modules that can not be overwritten. Again, I could not wrong but that is my understanding for things. Yup, that is one way to do it. The other way is what we described above to replace your cronjob via a Blesta plugin. The plugin will listen/subscribe to all Invoices.add events and then determine if the invoice needs to have additional line items added and have the total be updated. Like I previously mentioned, because invoice creation is handled within the core, there is no plugin or module that can modify the behavior. You could modify Blesta core files as an alternative, but I think subscribing to Invoices.add events is the way to go. Perhaps one of the Blesta Staff might have better ideas.
  7. From what I understand you want each invoice generated for a customer to be charged on usage. For example, used VoIP minutes in your PBX system or bandwidth used on a hosting plan? I am not as familiar with modules as I am with plugins but from reading the documentation it does not appear you can control the price of a service once it has been established. I don't think modules can subscribe to event notifications. I also do not think modules are involved in the invoice creation process which makes them easy to write, implement and maintain but in your case has some limitations. You are correct in that you can use a plugin to overwrite and add this functionality. You can use any module (universal, existing, custom, etc.) and then with your custom plugin subscribe for every Invoices.add event. At that point, your plugin code could get the invoice, client and package information and then connect with your 3rd party system (PBX, port bandwidth usage, etc.) and update the invoice to include the necessary line items. The one gotcha that might happen with this solution is that your clients *might* get an email with an invoice and PDF of the amount _before_ your plugin finishes. I have not verified this but taking a quick look at the code I think that is the right behavior. Maybe one of the Blesta devs can confirm this. Hope this helps. -Adam
  8. A single Blesta license permits you to install one copy of the Blesta on one domain, e.g., yourdomain.com. Beyond that, Blesta does not limit you in clients invoices connected servers (cPanel, Direct Admin, etc.) support tickets staff / workers For your setup, a single license will work for yourdomain.com which means 1 domain and 1 server. If you run multiple companies, company-a.com and company-b.com as an example, and each want to have Blesta on their own domain, then you need to purchase additional domain license called “Multi-Company” license addons. Full information here: https://docs.blesta.com/display/support/End+User+License+Agreement Note: You should reach out to Blesta Sales to get an official answer. -Adam
  9. Hi Turner! The recommend way to download this plugin is via git. Git allows you to: Quickly upgrade by fetching only changed files for the last update Track local changes that you have made Easily revert files back to their default condition See what changes would occur before performing an upgrade Continuously merge your local changes with our future updates. If for what ever reason you do not want to use git, then you can download a tagged release as indicated from the documentation: https://docs.solidnet.software/blesta-cerb/getting-started/install/#download-direct As mentioned, you will need to name the folder cerberus. I did take your feedback and update documentation website to make sure to emphases to name the folder cerberus within the plugins folder. Hope this helps. -Adam
  10. @Kian For these use cases, I suggest you use a 3rd party helpdesk with Blesta. I am going to be bias and recommend Cerb. They are going to have all those features you are asking, and then some. I do not work for Cerb but I am the author for the free plugin that integrates Cerb and Blesta. We use both for our company and in fact we run multiple brands. All our staff work and operate out of a single interface which is Cerb for sales/support/billing/etc helpdesk tickets. We then use Blesta for billing, service and client management. In my opinion, Cerb has a higher learning curve to get started vs the built in helpdesk with Blesta but it is well worth it in the long run. If you have specific questions around this, reach out, happy to help. -Adam
  11. Hi All, I am proud to announce that first release of Blesta-Cerb plugin. What is it? This plugin enables Cerb integration with the Blesta clients to create, update, reply, attach files and close tickets in the native Blesta client interface. This plugin replaces the built-in Support Manager with Cerb. Why do I want it? What is it good for?: If you receive high volume of emails or helpdesk tickets then replacing Blesta’s helpdesk for Cerb’s would increase productivity and reduce time spent answering emails. What is it not good for?: If the Blesta built-in helpdesk and support system meets your needs then switching to Cerb might add additional complexity. However Cerb’s features are unmatched in the industry. What is it not yet good for?: Cerb offers knowledge base articles that can be viewed by staff and published on its own support center portals. This functionality is not yet integrated into the blesta-cerb plugin. Common use cases for Blesta-Cerb Plugin: If you find that you need to do any of the following then Blesta-Cerb would be a good fit. Email and Helpdesk services are out source Notify workers and staff of new emails and events You offer out source services and need a central place for all support requests Need the ability to automate email and support workflows such as password reset, IP unblocks, etc. Collect Net Promoter Score (NPS), Customer Satisfaction (CSAT) or Customer Effort Score (CES) scores … and so much more with their bots … Cost: This plugin is 100% open source under the MIT license and is offered at no cost to you. Paid support is available for those who need it. Otherwise support is offered as best effort on the BitBucket issue page. Screenshot Tour: Visit: https://docs.solidnet.software/blesta-cerb/tour/ How do I use this plugin? Visit our online documentation: https://docs.solidnet.software/blesta-cerb/getting-started/
  12. What are you trying to do? Determine if a user exists within Blesta based on their login? If you are trying to use the Blesta API there is no need to "login" as the API requires Basic Auth with unique API creds, which is what you have done via aUser and aKey. If you are trying to determine if a user exists within Blesta based on their username and password, use the auth function instead of login. http://source-docs.blesta.com/class-Users.html#_auth Post to: api/users/auth.json With form data: const params = new URLSearchParams({ "username": vars.username, "vars[username]": vars.username, "vars[password]": vars.password, "type": "any" }); It will return true if the users exists otherwise false if the user does not.
  13. Syleron, This is a bug within Blesta and more so with minPHP. Great find. The issue is within app/controllers/api.php in the preAction function. The function tries to load the model from the url: support_manager.support_manager_tickets. app/controllers/api.php // Ensure that the request is formatted correctly if (isset($this->get[0]) && isset($this->get[1])) { $this->model = Loader::toCamelCase($this->get[0]); It calls Loader:toCamelCase which returns SupportManager.supportManagerTickets What is expected is the following format: SupportManager.SupportManagerTickets On the surface this should not have caused an issue as if you called a function like get_declared_classes() it would show up as a class that was loaded. However, the problem is the case sensitive does manner when the api class calls method_exists and Router::isCallable. The minPHP function toCamelCase does not account for periods in its algorithm. /** * Convert a string to "CamelCase" from "file_case" * * @param string $str the string to convert * @return string the converted string */ public static function toCamelCase($str) { if (isset($str[0])) { $str[0] = strtoupper($str[0]); } return preg_replace_callback( '/_([a-z])/', function ($c) { return strtoupper($c[1]); }, $str ); } The Blesta team will have a permanent fix in place as there are many ways to solve this. For now, the below patch file will get things working on your end. Apply the following patch file with patch(1): --- app/controllers/api.php 2017-03-14 10:23:18.000000000 -0700 +++ app/controllers/api.php 2017-07-05 21:35:18.337455862 -0700 @@ -68,7 +68,7 @@ // Ensure that the request is formatted correctly if (isset($this->get[0]) && isset($this->get[1])) { - $this->model = Loader::toCamelCase($this->get[0]); + $this->model = str_replace('_', '', ucwords($this->get[0], '_.')); $this->model_name = Loader::toCamelCase( strpos($this->model, '.') !== false ? ltrim(strrchr($this->model, '.'), '.') -Adam
  14. Perhaps use Slack instead? -Adam
  • Create New...