Jump to content

Jono

Blesta Developers
  • Posts

    376
  • Joined

  • Last visited

  • Days Won

    37

Posts posted by Jono

  1. Are you speaking of the email sent to staff members when a ticket is updated?  That tag is not available in that email template.  When editing an email template, the "Available Tags" section just above the text/html input lists all tags that are available to the template.

  2. The first place to check is going to be the logs (which is the case for most problems people encounter in Blesta).  Which non-merchant gateways, the primary suspect is usual the IPN callback that let's Blesta know that payment has been received.  To confirm that an IPN callback you'll want to check the logs under Tools > Logs > Gateways.  Search these logs for a paystack log with 'validate' label.  If you find one, it may have a error that let's you know what the problem is.  If there is no log that means that Blesta is not receiving the IPN callback.  In this case it is likely a server configuration issue, such as a firewall not letting the request through.

  3. Cool :)  The fact that you are using the order form does narrow things down quick a bit since that means the service will only be provisioned by the cron (if an admin creates an active service through the admin interface then the service is immediately provisioned, the cron only provisions pending services with paid invoices).

    I wasn't able to immediately recreate the issue, it seems to properly recognize that the username is used and select a new one.  That being said you clearly are getting an error so I'll keep poking around.

    One thought I had is that the username is determined when the order is placed, but the account is not created till the cron runs.  Is it possible that the username is being taken in the time between the order being placed and the cron running (doesn't seem likely but I figured I'd ask)

  4. Never assume that steps to duplicate are obvious.  I can think of 4 different methods of provisioning a service in Blesta off the top of my head, and issues like these may affect only one method.  Are you using the order form?  Are you creating it through the admin interface?  Is it being provisioned immediately or later by the cron?  If you are creating it through the admin interface are you entering a username or leaving it empty so that the module will generate it automatically?

     

  5. On 12/5/2019 at 2:48 AM, kikloo said:

    Need another feature to keep blesta neat and clean, I want to know the users/clients who have not logged in for last xx days. So I can search who has not logged in  / ordered for in the last 3 years, it means they have left us and not coming back and I would like to delete their data. It will help keep the database small in size and there are other benefits also for the same. Can this be done ?

    Check out custom reports under Billing > Reports.  You can see the docs here: https://docs.blesta.com/display/user/Generating+Reports.  The following query would give you something like what you want if you have a 'cutoff' field in your report:

    SELECT `contacts`.* FROM `clients` LEFT JOIN `log_users` ON `log_users`.`user_id` = `clients`.`user_id` AND `log_users`.`date_updated` > :cutoff INNER JOIN `contacts` ON `contacts`.`client_id` = `clients`.`id` AND `contacts`.`contact_type` = 'primary' WHERE `log_users`.`id` IS NULL

     

  6. Not a perfect solution, but a while ago we added the option to include a refresh_fields field which would allow you to submit and refresh the fields without receiving errors.  Could look something like this:

                    $label = $module_fields->label('Refresh Fields', 'refresh_fields');
                    $refresh_fields = $module_fields->fieldCheckbox(
                        'refresh_fields',
                        'true',
                        (isset($vars->refresh_fields) ? $vars->refresh_fields : 'false') == 'true',
                        ['id' => 'refresh_fields']
                    );
                    $label->attach($refresh_fields);
                    $module_fields->setField($label);

     

  7. Thanks for the feedback and the fix!  Presumably the +1 is meant to be included.  This looks like an issue with the order of operations. The dot operator is executed before the plus operator so that the expression is nsi + 1 (where i is the value of $i), which causes the error.  I would suggest wrapping $i+1 in parens instead ($i+1). I've create CORE-3282 to update this.

  8. Your looking for the language files under plugins/order/language.  Language files are named after the controller or model they are used in. Some appear in the main language directory, while language that is specific the modules, gateways, and plugins will appear under their specific directories: plugins/your_plugin/language, components/modules/your_module/language, and components/gateways/merchant//your_gateway/language.

    In the view files you will see something like

    $this->_('Order.main.domain'); 

    And in the language file you will see a matching row like:

    $lang['Order.main.domain'] = 'Domain';

  9. On 9/14/2019 at 8:48 AM, caygri said:

    Hello,

    Actually I sell software. Blesta do for me?

     

    My request is:

    • generated license manager - Yes
    • gocardless method - Yes
    • italian language - Partial Support (see https://translate.blesta.com/)
    • knowledge base - Yes
    • subcription module - Unclear, what kind of subscriptions.  Whatever the use case, we have the Universal Module which should be able to meet most any need.
    • easy way to generated page like wp - Blesta is not a CMS. However, people have successfully linked Blesta with their wp installs. Also a third party has made BlestaCMS which may meet your needs

     

  10. Chances are that it is on a non-active service and was overlooked because of it.  The pricing id can be found be going to the package edit page, right clicking on the term test box and opening your browsers inspector.  Right above the term field you will see a hidden field called pricing_id.  You can take this pricing_id and search your "services" table for it.  That should be the one you are looking for.

  11. It has come to our attention that under some circumstances in Blesta 4.7.0 (e.g. when a client is adding an addon service through the client interface) users can receive a fatal error "Undefined property: Services::$Clients on line 5159 in path_to_your_blesta\app\models\services.php".  This is a bug that will be resolved in 4.7.1 (CORE-3271).  You can fix this issue by changing app/models/services.php lines 5112-5114 from 

            if (!isset($this->Packages)) {
                Loader::loadModels($this, ['Packages', 'Clients', 'ClientGroups']);
            }

    to

            Loader::loadModels($this, ['Packages', 'Clients', 'ClientGroups'])

    Or you can override app/modelsservices.php with the attached services.php file

    services.php

  12. Hmm, you can update line 256-260 of gocardless.php  from:

            if ($this->ifSet($_GET['pay_type'], $_POST['pay_type']) == 'subscribe') {
                $pay_type = 'subscribe';
            } elseif ($this->ifSet($_GET['pay_type'], $_POST['pay_type']) == 'onetime') {
                $pay_type = 'onetime';
            }

    To:

            if ($this->ifSet($_GET['pay_type'], $this->ifSet($_POST['pay_type'])) == 'subscribe') {
                $pay_type = 'subscribe';
            } elseif ($this->ifSet($_GET['pay_type'], $this->ifSet($_POST['pay_type'])) == 'onetime') {
                $pay_type = 'onetime';
            }

    I'll create an issue on the GitHub repository for this

  13. Would you mind updating components/modules/tcadmin/api/tcadminapi.php line 68 from:

            if ($host_name_output != false) {

    to

            if ($host_name_output != "<?xml version='1.0'?><document></document>") {

    The visit the page again and post the log.

    It looks like the module has an bug with logging errors properly, I've created a task on github to fix this.

  14. The docs should probably be more clear.  It says that vars "may include following".  The client_id is not guaranteed to exist (the validation rule uses an if_set on edit), so if no client_id was submitted to Services::edit() then none will be available to the event.  That being said, you can always fall back in the old_service client ID if one does not exist in vars.

  15. On 4/16/2019 at 4:56 PM, activa said:

    A nice feature to see when logging as client for admins we should see client language , their prefered currency ... ect

    Are you saying that you want to view the client profile in their preferred language?  Or you just want to see what it is?

    The first seems a bit odd, because you might not even understand whatever language they chose.  Maybe we could have a language selector but default it to the admin's language.

    The second can be accomplished by editing the client through the admin or client interface.

×
×
  • Create New...