Jump to content


Blesta Developers
  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by Tyson

  1. It sounds like the hierarchy you would want is a package group of package groups. However, packages groups cannot nest each other in Blesta. You could only have one level of nesting, which is the package group and the packages inside that group. With that said, you can accomplish the behavior from your example (i.e. 1 level of nesting) using the way some templates display package groups on the order form. For example: Create an order form Choose the template "Wizard Boxes". You could also use "Wizard Slider", or the respective AJAX equivalents. Assign 3 package groups to the order form: "Beginner" "Intermediate" "Advanced" Each of those package groups should have multiple packages assigned to them, respectively, so the customer can choose the package they want to order from that group. Visit the order form (e.g. /order/main/index/orderformname) You will have 3 package groups to choose from: "Beginner", "Intermediate", and "Advanced" Once you choose one, you will then see a list of all packages you can order from that group I think that will be the closest native support for your use case.
  2. In Blesta, under Settings > System > API Access, you are sure you are using the correct user/key combination? Have you confirmed there are no unexpected spaces before/after either the user or the key? The error indicates there is no API user match between what you provided via the API SDK and what Blesta has stored in its database table `api_keys`. You can check that table to be sure the user/key are identical to what you are passing via the API.
  3. I don't have an ETA on updates to it for iDEAL support. We would have to investigate whether the payment flow allows for iDEAL usage with the gateway or not, and if so, what it would take to integrate those changes. If you are needing iDEAL support for any type of payment provider, you could try the Kassa Compleet iDEAL gateway and see if that works for you.
  4. It's possible we may be able to update the gateway to support iDEAL payments, but the Stripe Payments gateway in its current state does not currently support it.
  5. Perhaps @Blesta.Store can provide some insight as to why the system doesn't go back to normal after the plugin is uninstalled? Since it's a third-party plugin, I'm not going to be of much help with it. However, after uninstalling the BlestaCMS plugin, you should enable the Portal plugin (i.e. the default portal/CMS plugin included with Blesta). This should take over as the portal landing page for Blesta. You may need to Manage the plugin (under Settings > Plugins > (Manage) button) and be sure there is content set for the portal landing page. The default content is shown in the documentation.
  6. I'm glad that helped! Some third-party plugins, unfortunately, do not adequately uninstall everything they added when they are installed. It sounds like the BlestaCMS plugin may fail to uninstall everything it should since it has caused you issues. Perhaps @Blesta.Store can take a look at resolving those issues in newer versions of his plugin.
  7. Tyson


    Your web server has the open_basedir restriction in place, so it will only allow access to a white-listed set of directories. You will need to either disable open_basedir or add all paths Blesta will access. There are many paths that it could access though, so it may be best to disable it, or have your web host disable it. See also
  8. That text comes from a language file for the Support Manager plugin. You can find those language files on the filesystem under /plugins/support_manager/language/en_us/. The specific file used for that page is "client_tickets.php". You can update the language in there, and can follow the description in the documentation if you're not sure what to update. Also, be aware that updating Blesta in the future by uploading newer files will overwrite any changes you make to files, like this language file, so you should be sure to keep a backup of changes you make so you can re-apply them after updating Blesta.
  9. Blesta uses the Portal/CMS plugin to create a landing page where clients can go to access their account, the order form, or the support system, etc. You are using the BlestaCMS plugin, which I am not familiar with, but it most-likely overrides the default Blesta Portal plugin. AFAIK you can create additional front-end pages with the BlestaCMS plugin though. You may want to ask @Blesta.Store for some help with that setup. As for Blesta, it is not meant to replace your website, although you could use it that way, such as through a plugin like BlestaCMS. Any integration with Wordpress or another third-party platform will likely require modifications to the code to get it integrated into your particular site. There are some threads on the forums that describe how to do that if you're interested. However, Blesta is usually used on a subdomain or in a sub-directory of your website. If your website is at "domain.com", you might install Blesta at "domain.com/billing/". You can then update links on your website to go to "/billing/" to access Blesta-related content like the Order system at "/billing/order/" or client login at "/billing/client/login/". Regarding packages in Blesta appearing on an Order form, this is something you can configure after you create your package in Blesta. Under "Packages > Order Forms" you can create a new order form and assign any packages you want to sell through it from the list of packages you have already created in Blesta. A link will be shown to access that order form directly. However, you can also set a default order form under "Packages > Order Forms > (Settings) tab". The default order form will be shown when accessing "/order/" in your browser. I hope that helps.
  10. You should have a package in your DirectAdmin account that you assign to a package in Blesta. An IP address for the DA server should also be available. If you see no options in either of those drop-downs I suspect that Blesta cannot communicate with DA correctly. You may want to take another look at your credentials under Settings > Company > Modules > DirectAdmin > (Manage) > (Edit). If you're sure your credentials are correct, check your Blesta logs for more details under Tools > (Modoules). Click the most recent log entry for DirectAdmin to see the raw input/output. There may be an error there that can point to the issue.
  11. The documentation is directed toward user and developer Blesta system documentation rather than database schema documentation. We don't currently share any UML or ER diagrams, but there are certainly tools available for viewing database schemas (e.g. phpmyadmin, MySQL Work Bench) that can be used for that purpose.
  12. You can take a look at the documentation on generating custom reports in Blesta. Knowledge of SQL will be necessary, as well as the ability to find the information you need from the database schema. While not the same, the Aging Invoices report could be used to identify clients that are late on payment for 30/60/90+ days.
  13. You may want to contact @Blesta.Store for assistance with the plugin or to get an update. It sounds like there are a number of errors with it.
  14. Looks to me like the plugin itself is causing an error and therefore cannot be displayed by Blesta. You may notice this in your error logs as "Undefined offset 0". It appears to be a bit of the chicken and the egg problem. The plugin tries to assign a database record of itself to the variable "$this->plugin" before it's installed, but it could only work after it's installed. You may be able to workaround the issue by commenting out the line in the constructor: list($this->plugin) = $this->PluginManager->getByDir('blesta_cms'); //list($this->plugin) = $this->PluginManager->getByDir('blesta_cms'); I haven't tested this, but it may work for you. The plugin author should fix the error.
  15. Usually, if a plugin you've uploaded doesn't appear in Blesta, it was not uploaded to the correct location or it does not follow the correct naming conventions. Make sure you uploaded the plugin files to /plugins/ of your Blesta installation and that the file structure looks as described in the documentation.
  16. It's odd that it believes the 'order' field is missing. I took a look at the API included with Square in Blesta and it most certainly sets that parameter. Perhaps you could re-upload the source files for the Square gateway to your web server from the Blesta zip you downloaded? Also, what happens when run on the sandbox? There may also be other requirements for Square to work properly, for example, only some card types are accepted in Australia, and I think the minimum amount for a transaction could be $1.
  17. I don't think the credentials are accurate since you are trying to connect on port 22. The credentials shouldn't be ssh credentials, but your VestaCP account credentials. The hostname should be your VestaCP hostname, like "myserver.com", whatever that happens to be. The port should be "8083", unless you changed the default port to something else in VestaCP. Your username/password should then be your VestaCP account credentials.
  18. Update line 864: $this->Html->ifSet($vars->cpanel_domain, $vars->domain), to $this->Html->ifSet($vars->cpanel_domain, $this->Html->ifSet($vars->domain)),
  19. A domain field that cPanel is looking for must not be provided from user input. The lack of the field should be handled more gracefully. In any case, you can upgrade to the latest version of Blesta/cPanel to see if that resolves the issue, or look at the cpanel file referenced in the error on line 864. For the latter, check the context of the "$vars->domain" usage. It should be wrapped in Html::ifSet, e.g. "$this->Html->ifSet($vars->domain)". That should resolve the error.
  20. There is an option in the UI to clear the task lock if Blesta is sure the task itself stalled. The problem appears to be that Blesta is not sure the task stalled or if it is still legitimately running in this case. Failures like this are usually the result of some error occurring during processing that causes the task to crash. This should be easier to debug since you are not in production. First, I recommend you ensure Apache restarts gracefully as described in the documentation. I know you mentioned this already, but it's good to double-check nonetheless. Then, enable error reporting in Blesta, and disable the cron job on the web server. If the task is still locked, and you're familiar with SQL, you can delete the latest record from the `log_cron` table that references the "provision_pending_services" cron task, probably the one with `run_id` = 5. Afterward, run the cron manually via the Blesta UI under Settings > System > Automation. You'll then be able to watch the cron execute and see it get hung up. If there are any php errors, they should appear on screen. Also check the Module logs under Tools > Logs for possible issues with Plesk API calls, and check the log files on the server for anything else that may have occurred at run time. With all that said, you should have gathered at least some information that will help find the cause of the issue.
  21. That behavior usually only happens when the cron catches up on creating invoices for services it missed in the past, such as in the case when the cron has not been running each day. Has your cron been creating invoices for renewing services each day like it should? Did anything change on March 1st related to the cron? You might check the cron logs in Blesta to see that it has run the "Create Invoice" task each day as expected. You should also check that the server time is accurate, and that the "inv_days_before_renewal" setting exists for the client group/company of the client the invoice was created for. If you suspect this issue to continue the next time invoices are generated for renewing services, find one of those services and ensure the services renew date is >= 10 days from now. If you have a chance to debug prior to the cron running the "Create Invoice" task, you can fetch all of the renewing services and check that each has a 'date_renews' 10 days in the future. $services = $this->Services->getAllRenewing($client_group->id); // Fetch all renewing services for client group #1 $client_group_id = 1; $services = $this->Services->getAllRenewing($client_group_id); // Output and check each service's 'date_renews' to ensure they are at least 10 days in the future print_r($services);
  22. In your controller, probably the parent controller, set the custom view directory in preAction: $dir = 'custom_theme'; $this->view->view = $dir; $this->structure->view = $dir;
  23. It sounds like you will need to use their legacy sandbox for testing, but you can use the Square Checkout API in production without issues. I can't say what the "missing required parameter" error refers to exactly. I recommend taking a look at the gateway logs in Blesta to see the raw response from the gateway. That may point to the specific problem.
  24. The Pending Orders value refers to orders that are In Review in the Orders widget shown on the Billing Overview page. That value does not correspond to pending services. In fact, pending services are not currently available to be listed on the System Overview widget. If you needed to see those values, the System Overview plugin will need to be updated to retrieve/display that information.
  25. If you were using the Universal Module, you could create a Service Option of the type "Hidden". That will not be visible to clients, and will not appear on the order form, however, an admin can see/update that field in the staff UI. If using a configurable option, those will always be shown to clients, and will always display their prices. It would require a number of source code updates to disable that behavior. Can either of those work with your use case?
  • Create New...