Jump to content

Chris van der Westhuizen

Members
  • Content Count

    46
  • Joined

  • Last visited

  • Days Won

    3

Chris van der Westhuizen last won the day on July 2

Chris van der Westhuizen had the most liked content!

About Chris van der Westhuizen

  • Rank
    Advanced Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Chris van der Westhuizen

    Overview: Outstanding Balance Question

    Thank you Blesta Addons for your reply. We are writing a plugin to sync balance with another API of program on our network. that is why I try to calculate the credit, that is actually the balance credit or outstanding. thus outstanding debit less the credit shown, but I do not know where to get it properly, that is why I did the query but are not sure if I get all values correctly to get the credit (balance). because current result works good for 99% of the clients, but there is a few, that is out by the value of a service, and I cannot pick it up in db
  2. Chris van der Westhuizen

    Password protect the Admin folder / admin path with htaccess

    Hi All. When I normally want to protect a folder with a password popup I just add an .htaccess file to that folder containing the standard code. But in this case in Blesta it is a virtual path that we setup to be e.g. https://my.domain.com/blesta/manage to go to the admin. Should I add the .htaccess in /var/www/html/blesta/app/views/admin/default/ maybe?
  3. Chris van der Westhuizen

    Overview: Outstanding Balance Question

    Is this the correct approach towards calculating the credit from database on a single currency? select `clients`.`id` as 'client_id', `clients`.`id_value` as 'id_value' , ifnull(inv.invoices_total,0) as 'invoices_total' , ifnull(trans.transactions_total,0) as 'transactions_total' , ifnull(transrev.transreverse_total,0) as 'transreverse_total' , ifnull(-inv.invoices_total,0) + ifnull(trans.transactions_total,0) as 'credit' from clients left join (select `client_id`, ifnull(sum(`total`),0) as 'invoices_total' from `invoices` where `invoices`.`status` = 'active' group by `invoices`.`client_id`) as inv on `clients`.`id` = inv.client_id left join (select `client_id`, ifnull(sum(`amount`),0) as 'transactions_total' from `transactions` where `transactions`.`status` = 'approved' group by `transactions`.`client_id`) as trans on `clients`.id = trans.client_id left join (select `client_id`, ifnull(sum(`amount`),0) as 'transreverse_total' from `transactions` where `transactions`.`status` in('refunded','returned') group by `transactions`.`client_id`) as transrev on clients.id = transrev.client_id
  4. Chris van der Westhuizen

    Cash payment/deposit into Blesta without card / gateway

    Ahhh! I clicked on Make Payment on the left panel below the client details, Instead of "Record Payment"!
  5. Chris van der Westhuizen

    Cash payment/deposit into Blesta without card / gateway

    How do we accept/enter a cash payment into Blesta at our office over the counter cash deposit and full amount later and recurring cash deposits paid at our office, thus not by credit card or gateway?
  6. Chris van der Westhuizen

    License Checker / Verification

    Thank you Paul. I read that I had to choose to add the addon when I bought a Blesta license. We already have a license for Blesta, and now cannot find the place to buy the addon. Do you maybe have a direct link or a step-by-step to buy the addon?
  7. Chris van der Westhuizen

    License Checker / Verification

    Hi all. I am nearly complete with a plugin for Blesta I would like to release in the market, but am not sure about the licensing in regards to Blesta's opensource policy etc. This will be the first time releasing a plugin to the market ever (on Blesta's coding standard of course). Previous development was always for in-house development thus I have never developed a licensing part for scripts yet, neither manage it. I did some research and found some code that one can generate a license key and verify against API if the domain / ip and code is valid, and then other code to obfuscate and encrypt the development code, but don't know if it is the proper way to go. I am planning on developing a Blesta plugin to handle customer licensing for the plugins/modules we sell. I really don't want the plugin to get nulled, or licensing to be bypassed on some way. As all will understand I need to be paid to have my job here, although I am pro for opensource and freeware. I'm a total newbie when it comes to licensing. Thanks in advance for your feedback.
  8. Chris van der Westhuizen

    Adding Client Account Number to Invoice Customization Notes

    Thank you
  9. Chris van der Westhuizen

    Adding Client Account Number to Invoice Customization Notes

    Hi All. Under Invoice Customization in the Notes field our financial department would like to have the client's account number to appear in one of the sentences. I would have thought that {client_ID} would work, but cannot get documentation in this regards. Maybe I am just overlooking something in the documentation. Does the Notes box makes provision for tags?
  10. Chris van der Westhuizen

    Invoice Date and Due Date missing on invoices and views

    and or maybe give an example code next to the textbox
  11. Chris van der Westhuizen

    Blesta Have Option To Create Quote/estimates ?

    Hi All. I see the first post was in October 2013 in this regards with good suggestions from Paul and others. Since I am the new developer at our company and I need to be paid each month 🙂 , my boss is expecting of me to develop a quoting plugin that we can sell. The plugin must make provision for prospects (not only clients as for the existing plugin by Blesta Addons) and once quote gets accepted the prospect will become a client. see explanation in earlier post above. I assume I will have to manually edit the Blesta source code for adding a menu item? or can it be done all from the developed plugin?
  12. Chris van der Westhuizen

    Invoice Date and Due Date missing on invoices and views

    Hi All We managed to pull magician on ourselves in regards to the dates having them disappeared for a short time. There's the trick... someone in our department removed the Date Format and Date Time format under settings's Localization. After changing it back to Date Format: d M Y and Date Time Format: d M Y G:i:s we had the dates in the invoices and everywhere again 🙂
  13. Chris van der Westhuizen

    Blesta Have Option To Create Quote/estimates ?

    Thank you GosuHost and Blesta Addons. I really appreciate your replies. I did look at the quote plugin as possible solution from Blesta Addons. The problem is that we are doing a huge lot of quotes, but a few signups. We do not want to create those prospect as customers on our system. Only when they accept a quote then we want them on our system as customers. It would be great if you could amend your plugin to do so. Time is of essence as I explained I made the mistake. How long will it take, and what will it cost? Maybe for a learning curve I should write a plugin? because there is a huge load of stuff/functions we would like in Blesta that is not currently available as in FreeSide, and it is expected from our programming department, in this case me (.net, U2 Universe, Oracle and so on developer who has some PHP experience) to do the development. And I have more hope for me with Blesta and minPHP as with FreeSide and Perl 🙂
  14. Chris van der Westhuizen

    Blesta Have Option To Create Quote/estimates ?

    We did away with whmcs and are using Blesta, but now we have to create quotes on a separate system (because I did not pay attention). Our directors want us to move away from Blesta for the lack of features like this, and they showed me FreeSide. That is written in Perl, and currently have NO support or developers at all that comes back to us. I see they are hiring. Thus that will be the worse route to take now. And I have to fix this. 😞 What we need in Blesta is menu items called Prospects and Quotes with sub-menus to create/edit/delete or list prospects or quotes, and where a quote gets generated and emailed in either html or pdf. A quote should be generated for existing clients as well and not only prospects. Sales agent should also be assigned in the form. If a client/prospect accept a quite once clicked on quote accepted button, if prospect a client should be created and then the services from the quote added to the new or existing client and invoiced. I believe one will only need 3 extra tables namely prospects (based on contacts) and quotation and quotation_lines (based on invoice and invoice_lines table). How difficult would it be to develop this for Blesta? Can it be done as a plugin or module or does one have to modify the base source? My mother-tongue is unfortunately not PHP, but I am an eager/fast learner on foreign languages 🙂 ...and a perfectionist when it comes to coding and security. Any suggestions going forward from here?
  15. Chris van der Westhuizen

    [Merge Clients] - How It Should Work ;)

    Hi All, I hope the following can help you. What I do in the meantime is moving the services etc over to the new client and close the old client. In my case we don't need to move everything. The services are important for us to be on the new client. Thus I used the code below, although it is not a complete script moving everything you might want to move, it did it for us, and can maybe help others. I commented the update queries with -- for me not to run it by accident 🙂 . find below: --blesta move services from one client to another. (the values entered was for my testing) /*Step 01*/ use billing; set @var_id_value_from=1195; /*from client code, not id*/ set @var_id_value_to=1205; /*to client code, not id*/ set @var_id_from=0; SELECT `id` into @var_id_from FROM `clients` where `id_value` = @var_id_value_from limit 1; set @var_id_to=0; SELECT `id` into @var_id_to FROM `clients` where `id_value` = @var_id_value_to limit 1; select @var_id_value_from, @var_id_value_to, @var_id_from, @var_id_to; SELECT * FROM `clients` where `id` = @var_id_from; SELECT * FROM `clients` where `id` = @var_id_to; SELECT * FROM `services` where `client_id` = @var_id_from; SELECT * FROM `services` where `client_id` = @var_id_to; --update services set `client_id` = @var_id_to where client_id = @var_id_from; /*skip this only for testing*/ select * from service_fields where service_id in(324); /* no action needed */ select * from service_changes where service_id in(324); /* no action needed */ select * from service_options where service_id in(324); /* no action needed */ select * from log_services where service_id in(324); /* no action needed */ select * from package_pricing where pricing_id in(33); /* no action needed */ select * from packages where id in(26); /* no action needed */ select * from pricings where id in(33); /* no action needed */ /*Step 02*/ select * from client_packages where client_id = @var_id_from; /*change client_id from to */ --update client_packages set `client_id` = @var_id_to where client_id = @var_id_from; /* assuming that the clients's currency, and tax status is the same, and you want to move all services from one client to another then you can do the invoices and transactions as well */ /*Step 03*/ select * from support_tickets where client_id = @var_id_from; /* service_id in(324); *//*code = 9462313;*/ /* change client_id from old client id to new client id (not client_id_value) */ /* the support_tickets are linked to support_replies which are linked to contacts that are linked to the current client. if you want to move the support tickets related to the service_id, I will suggest moving the contact first to the new client. but the contact is linked to a lot of tables. For my purpose I deside to leave the support_tickets at the old client and just make the support_tickets.service_id = null */ --update support_tickets set client_id = @var_id_to where client_id = @var_id_from; /* should I or not, in regards to the comment above? */ select * from support_replies where ticket_id in(select ticket_id from support_tickets where service_id in(324)); /* no action needed if not moving the tickets with services to new client*/ /*Step 04*/ select * from service_invoices where service_id in(324); /* no action needed */ select * from invoices where client_id = @var_id_from; /* id in (37106,38781);*/ /* change client_id from old client id to new client id (not client_id_value) */ -- update invoices set client_id = @var_id_to where client_id = @var_id_from; select * from invoice_lines where invoice_id in(37106,38781); /* no action needed */ select * from invoices_recur where `client_id` = @var_id_from; /* change cleint_id fom old client to new client */ --update invoices_recur set client_id = @var_id_to where client_id = @var_id_from; /*Step 05*/ select * from transaction_applied where transaction_id in(select id from transactions where client_id = @var_id_from); /* no action needed */ select * from transactions where client_id = @var_id_from; /* change old client_id to new client_id. make transactions.account_id = null if account not account will not also be moved to new client, like in my case */ --update transactions set transactions.account_id = null, client_id = @var_id_to where client_id = @var_id_from; Then I closed the old duplicated client in Blesta. have fun! 🙂
×