Jump to content

PauloV

Members
  • Posts

    1,387
  • Joined

  • Last visited

  • Days Won

    42

Reputation Activity

  1. Like
    PauloV got a reaction from Micahel Yoon in Change Package Belong To Universal Module To A Custom Module   
    Hello,
     
    It will take more time that I expected to finish the Plugin to work with any outher Module, But I will post below the Code I have iis working in my client case that I have "comment" below for you to understand
     
    Im sure there are many outher ways, maybe more easy, but its working great
     
    I have set the code below in a Plugin on Blesta, so you can use as you want
    // Set your email adress to send the report $universaltoany_email = "email@mydomain.com"; // Set Universal Module module_row_id $universal_module_row_id = "1"; // Set the main key to be changed to anouther module key $universal_key_change = "user1"; // Set all Universal Module Keys to be deleted that dosent make sense on the new Module $universal_delete_key = array("opt1","opt2","pass","user2"); // Set Outher Module to transfer to module_row_id $any_module_row_id = "2"; // Set the main key for the new Module to be changed from $universal_key_change $any_key_change = "domain"; // Add all Universal Package Pricing ID's you want to transfer here $universal=array('16','17','26','27','28','38','48','52','53','57','59','66','67','70','74','75','79'); // Add all equivalent new Module Package Pricing ID's here to match the above "universal" $any_module=array('108','86','88','109','107','89','110','111','106','105','104','103','102','112','101','99','84'); // Now we map the array to match each Package Pricing $univ_to_opensrs_map = array_map(null, $universal, $any_module); // Now we start the processes for transfer foreach ($univ_to_opensrs_map as &$value) { // get all universal Packages mapped above $upackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[0])->fetchAll(); // we start logging the Transfer Report to recive as an email $sendreport .= "Universal Package ID = ". $value[0]."\n"; // start reading all Packages foreach ($upackages as $upackage) { // Now we get all Universal Pricing ID's to transfer $upricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $upackage->pricing_id)->fetchAll(); // we add all Universal Package Pricing ID's that will be converted $sendreport .= "Universal Package Price ID = ". $upackage->pricing_id."\n"; // now we start reading all Universal Pricing ID's foreach ($upricings as $upricing) { // now we get the pricing term to check if its OK, because some times we onlly use months and in this client case we converted months to years for OpenSRS $gterm = $upricing->term; if ($upricing->period == "month") $gterm = ($upricing->term / 12); // We log the original period and the converted period just to make sure its OK $sendreport .= "Universal Package Price Period = ". $upricing->period."\n"; $sendreport .= "Universal Package Price Term = ". $gterm." -> Original Term = ".$upricing->term." \n\n"; // we logs the outher Moduke Package ID that will convert to $sendreport .= "AnyModule Package ID = ". $value[1]."\n"; // Now we strat getting all outher Module Package Pricing ID's $opackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[1])->fetchAll(); // Now we start the process of transfer to the outher module foreach ($opackages as $opackage) { // we log the Other Module Package Pricing ID $sendreport .= "AnyModule Package Price ID = ". $opackage->pricing_id."\n"; // now we get all all Package Princig ID's mapped (in this case we will get only the "period" by "year" but you can change that for your case) $opricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $opackage->pricing_id)->where("pricings.period", "=", "year")->where("pricings.term", "=", $gterm)->fetchAll(); // now we read all pricings foreach ($opricings as $opricing) { // we get the outher module princing ID $opricingid = $opricing->id; // we logs all pricing period and term $sendreport .= "AnyModule Package Price Period = ". $opricing->period."\n"; $sendreport .= "AnyModule Package Price Term = ". $opricing->term."\n"; $sendreport .= "\n\n---------------BEGINING---------------\n"; // now we finally have all correct client/service princing ID and service ID we can convert/transfer $oservices = $this->Record->select(array("id"))->from("services")->where("pricing_id", "=", $upricing->id)->fetchAll(); // we strat the final process foreach ($oservices as $oservice) { // we log all transfered service ID to make sure was transfer sucessfull $sendreport .= "Universal to AnyModule Imported Service ID = ". $oservice->id."\n"; // we update the Universal Module ID to the new Module ID $this->Record->where("pricing_id", "=", $upricing->id)->where("module_row_id", "=", $universal_module_row_id)->update("services", array("pricing_id"=>$opricingid, "module_row_id"=>$any_module_row_id)); // we change the Module "key" in this case "user1" to the new "key", in this case "domain" $this->Record->where("service_id", "=", $oservice->id)->where("key", "=", $universal_key_change)->update("service_fields", array("key"=>$any_key_change)); // we remove all unecessary key's that dosent make sense for this Module, in this case we will remove "opt1","opt2","pass","user2" $this->Record->from("service_fields")->where("service_id", "=", $oservice->id)->where("key", "in", $universal_delete_key)->delete(); } $sendreport .= "\n------------------END-------------------\n\n"; } } } } $sendreport .= "\n\n"; } mail($universaltoany_email, "Blesta - Universal to AnyModule Report", $sendreport);
  2. Thanks
    PauloV got a reaction from Kang Ivan in [Order Forms] Cloud - Release 1.0.0   
    Hello Blestars
     
    UPDATED 25-07-2014
    Fixed: bug found by user lodoit that images were not being loaded wen blesta in on a sub-directory. Once again we bring you "Free Content"
     
    New Order Form added: Curve Slider Cloud
     
    Just see the instruction below, how to download and install.
     
    This Order Forms are for Cloud Hosting and Cloud Dedicated buisnesses 
     
    Curve Slider Cloud Order Form (now 100% responsive)

     
     
     
     
     
    Float Cloud Order Form (now 100% responsive)

     
     
     
     
    Exclusive LisenceCart Style Added
     
    Multi Cloud (Box) Order Form (now 100% responsive)

     
     
     
     
     
     
    Multi Cloud (Rack) Order Form (now 100% responsive)

     
     
     
    How to Install/Ugrade:
     
    1º- Download the Cloud Order Forms: Download Here (updated 25-07-2014)
    2º- Uncompress, and upload the folder "cloud" to your blesta instalation in /plugins/order/views/templates/ directory. 3º- Go to Blesta Admin, and click on Packages->Order Forms, now Add an Order Form or Edit your Order Form and you will see the new Order Forms, just select, and save. 4º- Now give it a trie   If you like it, and want to donate, please use this PayPal link: Donate Here!   Any bugs, or problems please tell us.   We hope you like it   Regards, PV
  3. Like
    PauloV got a reaction from dominame in [Module] Opensrs - Beta 1.0.8 Relesed :)   
    Hello Blestars

    Update 31-07-2019
    Fixed compability with PHP 7 or above  Old updates:
    Fixed: Bug on "TempUnlock", detected by aosoft Fixed: Whois Get/Edit fields Fixed: Renew Added: Commands TAB (for now only Renew works, later on I will finish the Transfer and Registter Command) Fixed: opemsrs default error handeling (now it uses a global var to store errors, is the quckiest way) Added: .co.uk adittional fields missed. (thanks to richwalker) Fixed: Removed GLOBAL variables, thanks to Carl Fixed: Code cleaned for better understand Added: Whois Get/Set in Admin and Client Side Changed: From Alpha to Beta, if no bugs found in 2 weeks I will change to Release Candidate Fixed: Temporary unlock domain to make changes, and then lock again after changes Added: Better error handeling, displying the direct error message from OPENSRS api on Client and Admin side Optimised in only one core modify file, the patch file for set diferent prices for diferent types: Domain Register Domain Transfer Domain Renew Added: [Admin]->[Settings]: Set/Get Registrar Lock Added: [Admin]->[Settings]: Get EPP Code (Transfer Key) Added: [Admin]->[Nameservers]: Set/GET Nameservers Added: [Client]->[Settings]: Set/Get Registrar Lock Added: [Client]->[Settings]: Get EPP Code (Transfer Key) Added: [Client]->[Nameservers]: Set/GET Nameservers What Can it do:
    Domain Register Domain Transfer Manage Domain Nameservers Manage Domain Lock Get Domain EPP Key Todo:
    Manage Domain Whois Manage Domain DNS's Records Manage Domain Email Fowarding
    The download and instrution will be at the bottom of this post

    Here is some teasers:










    ### Atention: This is only For Blesta 4.6 or any version above! ###

    How to Install (this is an Beta Release, we need your help to debug and test it)
    1º- Download the Blesta OpenSRS Registrar Module here: Download Here (updated 31-07-2019)
    2º- Uncompress, and upload the folder "opensrs" to blesta /components/modules/ directory.
    3º- Go to Blesta Admin, and click on Setings->Company->Modules->Available and it will list the "OpenSRS" module, just Click on "INSTALL"
    4º- Now you can manage the Module and add your OpenSRS Username, API Key, and a random Salt Key.
    5º- In your Packages->Create Package you can select the Module->OpenSRS to configure your TLD's do regist/transfer, you will also see that in "Type" you can choose wich typw you want to add prices for.

    How to Upgrade
    1º- Download the Blesta OpenSRS Registrar Module here: Download Here (updated 31-07-2019)
    2º- Uncompress, and upload the folder "internetbs" to blesta /components/modules/ directory.
    3º- Go to Blesta Admin, and click on Setings->Company->Modules and it will list the "OpenSRS" module, just Click on "UPGRADE"


    How to Uninstall
    Go to Blesta Admin, and click on Setings->Company->Modules and it will list the "OpenSRS" module, just Click on "UNINSTALL"


    Hope you like it
  4. Like
    PauloV reacted to Tyson in Module Add Variable to Cart Summary Descrition   
    Sure, upgrade to Blesta v4.7.0+ and ensure the Order plugin is using v2.20.0+. The domain module should then make the service's domain field available via ::getServiceName or the configuration value service.name_key.
  5. Like
    PauloV got a reaction from Michael in Best way to migrate current services from cPanel to DA?   
    @Tyson @MBH2006 @Nahuel
    Hello
    We have made some years in 2015 lol, long time ago a tool to map/move services from one module to outher   in this case was moving from "Blesta Universal Module" to "OpenSRS Module"
    We only need the Services ID from Module A (cPanel) and Module B (Direct Admin)
    Here is the code exemple on the Plugin:
    public function install($plugin_id) { $sendreport = null; $module_A = array('1','2','3'); // put here the Service Package Id's from Module A $module_B = array('4','5','6'); // put here the Service Package Id's equivalent to Module A to migrate $module_migrate_map = array_map(null, $module_A, $module_B); foreach ($module_migrate_map as &$value) { $upackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[0])->fetchAll(); $sendreport .= "Module A Package ID = ". $value[0]."\n"; foreach ($upackages as $upackage) { $upricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $upackage->pricing_id)->fetchAll(); $sendreport .= "Module A Package Price ID = ". $upackage->pricing_id."\n"; foreach ($upricings as $upricing) { $gterm = $upricing->term; if ($upricing->period == "month") $gterm = ($upricing->term / 12); $sendreport .= "Module A Price Period = ". $upricing->period."\n"; $sendreport .= "Module A Package Price Term = ". $gterm." -> Original Term = ".$upricing->term." \n\n"; $sendreport .= "Module B Package ID = ". $value[1]."\n"; $opackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[1])->fetchAll(); foreach ($opackages as $opackage) { $sendreport .= "Module B Price ID = ". $opackage->pricing_id."\n"; $opricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $opackage->pricing_id)->where("pricings.period", "=", "year")->where("pricings.term", "=", $gterm)->fetchAll(); foreach ($opricings as $opricing) { $opricingid = $opricing->id; $sendreport .= "Module B Package Price Period = ". $opricing->period."\n"; $sendreport .= "Module B Package Price Term = ". $opricing->term."\n"; $sendreport .= "\n\n---------------BEGINING---------------\n"; $oservices = $this->Record->select(array("id"))->from("services")->where("pricing_id", "=", $upricing->id)->fetchAll(); foreach ($oservices as $oservice) { $sendreport .= "Migrate from A to B Imported Service ID = ". $oservice->id."\n"; $this->Record->where("pricing_id", "=", $upricing->id)->where("module_row_id", "=", "2")->update("services", array("pricing_id"=>$opricingid, "module_row_id"=>"3")); $this->Record->where("service_id", "=", $oservice->id)->where("key", "=", "user1")->update("service_fields", array("key"=>"domain")); $this->Record->from("service_fields")->where("service_id", "=", $oservice->id)->where("key", "in", array("opt1","opt2","pass","user2"))->delete(); } $sendreport .= "\n------------------END-------------------\n\n"; } } } } $sendreport .= "\n\n"; } mail("notify@mydomain.com", "Blesta - Migrate from Module A to Module B Report", $sendreport); } Hope this help someone  
    Regards,
    PV
  6. Like
    PauloV got a reaction from activa in Currency Format   
    +1 to Portugal/Europe
     
  7. Like
    PauloV got a reaction from activa in Config Addons Quantity field   
    +1

  8. Like
    PauloV got a reaction from activa in pre action events   
    For a dev, all actions have to be able to run pre eventes and after events, thas common sence
    For me this is a priority one inclusion and its very easy for Paul/Tyson/etc to include in next release
     
  9. Like
    PauloV got a reaction from Blesta Addons in Best way to migrate current services from cPanel to DA?   
    @Tyson @MBH2006 @Nahuel
    Hello
    We have made some years in 2015 lol, long time ago a tool to map/move services from one module to outher   in this case was moving from "Blesta Universal Module" to "OpenSRS Module"
    We only need the Services ID from Module A (cPanel) and Module B (Direct Admin)
    Here is the code exemple on the Plugin:
    public function install($plugin_id) { $sendreport = null; $module_A = array('1','2','3'); // put here the Service Package Id's from Module A $module_B = array('4','5','6'); // put here the Service Package Id's equivalent to Module A to migrate $module_migrate_map = array_map(null, $module_A, $module_B); foreach ($module_migrate_map as &$value) { $upackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[0])->fetchAll(); $sendreport .= "Module A Package ID = ". $value[0]."\n"; foreach ($upackages as $upackage) { $upricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $upackage->pricing_id)->fetchAll(); $sendreport .= "Module A Package Price ID = ". $upackage->pricing_id."\n"; foreach ($upricings as $upricing) { $gterm = $upricing->term; if ($upricing->period == "month") $gterm = ($upricing->term / 12); $sendreport .= "Module A Price Period = ". $upricing->period."\n"; $sendreport .= "Module A Package Price Term = ". $gterm." -> Original Term = ".$upricing->term." \n\n"; $sendreport .= "Module B Package ID = ". $value[1]."\n"; $opackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[1])->fetchAll(); foreach ($opackages as $opackage) { $sendreport .= "Module B Price ID = ". $opackage->pricing_id."\n"; $opricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $opackage->pricing_id)->where("pricings.period", "=", "year")->where("pricings.term", "=", $gterm)->fetchAll(); foreach ($opricings as $opricing) { $opricingid = $opricing->id; $sendreport .= "Module B Package Price Period = ". $opricing->period."\n"; $sendreport .= "Module B Package Price Term = ". $opricing->term."\n"; $sendreport .= "\n\n---------------BEGINING---------------\n"; $oservices = $this->Record->select(array("id"))->from("services")->where("pricing_id", "=", $upricing->id)->fetchAll(); foreach ($oservices as $oservice) { $sendreport .= "Migrate from A to B Imported Service ID = ". $oservice->id."\n"; $this->Record->where("pricing_id", "=", $upricing->id)->where("module_row_id", "=", "2")->update("services", array("pricing_id"=>$opricingid, "module_row_id"=>"3")); $this->Record->where("service_id", "=", $oservice->id)->where("key", "=", "user1")->update("service_fields", array("key"=>"domain")); $this->Record->from("service_fields")->where("service_id", "=", $oservice->id)->where("key", "in", array("opt1","opt2","pass","user2"))->delete(); } $sendreport .= "\n------------------END-------------------\n\n"; } } } } $sendreport .= "\n\n"; } mail("notify@mydomain.com", "Blesta - Migrate from Module A to Module B Report", $sendreport); } Hope this help someone  
    Regards,
    PV
  10. Like
    PauloV reacted to Blesta Addons in [Module] Hetzner Cloud   
    new release 1.5.0
    + Added Option to enable/disable rescue mode
  11. Like
    PauloV reacted to Blesta Addons in [Module] Hetzner Cloud   
    This module is for Cloud and not for robot.
    this is already supported, from package creation page you can chose the server base of the package.
    the cPanel/Softaculous licensing will be implemented like a hook system for the module, we have already done it with our virtualizor extended module, after we will sur is totally functional we will release it and port them to Hetzner Cloud module too.
    We don't have any public changelog or github reposity now, we have our internal project system. Just to note we also using the Hetzner Cloud module for our other brands and we should update it and adding more futures to our clients and of course the blesta addons users will get this features also .
    Rescue is in our next release, ISO Images and Graphs will come later, maybe we will ad support for volumes before them as they are very used .
     
  12. Like
    PauloV got a reaction from Gabriel Gutierrez in [Module] Opensrs - Beta 1.0.8 Relesed :)   
    Hello
    Please download on the first post the updated version, replace and test it

    Make sure you open the port 55443 on your firewall

    Regards,
    PV
  13. Thanks
    PauloV got a reaction from Blesta Addons in [Module] Opensrs - Beta 1.0.8 Relesed :)   
    Hello
    Please download on the first post the updated version, replace and test it

    Make sure you open the port 55443 on your firewall

    Regards,
    PV
  14. Like
    PauloV reacted to Paul in [Module] Opensrs - Beta 1.0.8 Relesed :)   
    You are the MAN. Nice work as usual, and glad you are back.  
  15. Like
    PauloV got a reaction from Tyson in Best way to migrate current services from cPanel to DA?   
    @Tyson @MBH2006 @Nahuel
    Hello
    We have made some years in 2015 lol, long time ago a tool to map/move services from one module to outher   in this case was moving from "Blesta Universal Module" to "OpenSRS Module"
    We only need the Services ID from Module A (cPanel) and Module B (Direct Admin)
    Here is the code exemple on the Plugin:
    public function install($plugin_id) { $sendreport = null; $module_A = array('1','2','3'); // put here the Service Package Id's from Module A $module_B = array('4','5','6'); // put here the Service Package Id's equivalent to Module A to migrate $module_migrate_map = array_map(null, $module_A, $module_B); foreach ($module_migrate_map as &$value) { $upackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[0])->fetchAll(); $sendreport .= "Module A Package ID = ". $value[0]."\n"; foreach ($upackages as $upackage) { $upricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $upackage->pricing_id)->fetchAll(); $sendreport .= "Module A Package Price ID = ". $upackage->pricing_id."\n"; foreach ($upricings as $upricing) { $gterm = $upricing->term; if ($upricing->period == "month") $gterm = ($upricing->term / 12); $sendreport .= "Module A Price Period = ". $upricing->period."\n"; $sendreport .= "Module A Package Price Term = ". $gterm." -> Original Term = ".$upricing->term." \n\n"; $sendreport .= "Module B Package ID = ". $value[1]."\n"; $opackages = $this->Record->select(array("pricing_id","package_id"))->from("package_pricing")->where("package_pricing.package_id", "=", $value[1])->fetchAll(); foreach ($opackages as $opackage) { $sendreport .= "Module B Price ID = ". $opackage->pricing_id."\n"; $opricings = $this->Record->select(array("id","period","term"))->from("pricings")->where("pricings.id", "=", $opackage->pricing_id)->where("pricings.period", "=", "year")->where("pricings.term", "=", $gterm)->fetchAll(); foreach ($opricings as $opricing) { $opricingid = $opricing->id; $sendreport .= "Module B Package Price Period = ". $opricing->period."\n"; $sendreport .= "Module B Package Price Term = ". $opricing->term."\n"; $sendreport .= "\n\n---------------BEGINING---------------\n"; $oservices = $this->Record->select(array("id"))->from("services")->where("pricing_id", "=", $upricing->id)->fetchAll(); foreach ($oservices as $oservice) { $sendreport .= "Migrate from A to B Imported Service ID = ". $oservice->id."\n"; $this->Record->where("pricing_id", "=", $upricing->id)->where("module_row_id", "=", "2")->update("services", array("pricing_id"=>$opricingid, "module_row_id"=>"3")); $this->Record->where("service_id", "=", $oservice->id)->where("key", "=", "user1")->update("service_fields", array("key"=>"domain")); $this->Record->from("service_fields")->where("service_id", "=", $oservice->id)->where("key", "in", array("opt1","opt2","pass","user2"))->delete(); } $sendreport .= "\n------------------END-------------------\n\n"; } } } } $sendreport .= "\n\n"; } mail("notify@mydomain.com", "Blesta - Migrate from Module A to Module B Report", $sendreport); } Hope this help someone  
    Regards,
    PV
  16. Thanks
    PauloV got a reaction from Gabriel Gutierrez in [Module] Opensrs - Beta 1.0.8 Relesed :)   
    Hello @Gabriel Gutierrez 
    Let me try to test it tomorow on 4.6 and I will reply with an updated Version
    Regards,
    PV
  17. Like
    PauloV reacted to Blesta Addons in [Module] Observium module   
    Observium Module For Blesta
    We are excited to announce the release of one of the advanced module for blesta, is OBSERVIUM, with this module you can add port as a service and asign it to a client, the client can view the real time statistique and the overusage and the projected overusage, the click can also see the graph bandwith from X to X date . the admin also can see stats and graph for observium port, admin can also change the assigned port to the client and add a new one. Admin can set the bandwith calculation, either 95th or total bandwith, can set the price of the overusage bandwith witht a selected unit.
    the module come with a helper plugin, is used to generated the overusage invoices in the ifrst of every month for the last month.
    the module also come with thier own api wrapper for blesta, just upload the file to the HTML directory of observium.
    Compatibility
    the plugin is fully compatible with Blesta v4 & Blesta v3
    Features
    - Module fully customisable from package section.
    - Assign port to client.
    - Clients/Admins can view real time usage, stats and ghraphs for a selected period.
    - The helper plugin for observium is used to generate invoice for overusage.
    Screenshots
    overview of bandwith

     
    Graph Overview

     
    Real time port bandwidth info

     
    Order
    More Info
    the price is 49.99$ Yearly , (or 5$ Monthly in case any one want to test the module before make the yearly subscription) . you can order here.
    any bug/feedback report it here .
    best regards
     
  18. Like
    PauloV got a reaction from Blesta Addons in pre action events   
    For a dev, all actions have to be able to run pre eventes and after events, thas common sence
    For me this is a priority one inclusion and its very easy for Paul/Tyson/etc to include in next release
     
  19. Like
    PauloV got a reaction from Blesta Addons in Config Addons Quantity field   
    +1

  20. Like
    PauloV got a reaction from Blesta Addons in Currency Format   
    +1 to Portugal/Europe
     
  21. Like
    PauloV reacted to Blesta Addons in pre action events   
    i have already requested this feature, the competitor do this from years now, they have pre-events and after-events (hooks) and they look to response to complete the action or return the returned errors.
    i think this behavior a great way to extend the software and give the developers the ability to do more features and staff . the events now in Blesta is just like a notification system about completed actions, and also i think is no sense for look for after-events return as the action is already completed. 
  22. Like
    PauloV reacted to activa in pre action events   
    Sometimes we need to block some email providers or client from some countries... ect , and the only way to not do this manually is to have a pre action event for Clients.Add action .it would be perfect to allow as inject our our code before the action then if we want we set errors, as now blesta allow as to inject code after client creation action.
  23. Thanks
    PauloV reacted to Blesta Addons in Service Suspended Email Template   
    not sur, but if the staff suspend a service and they put in the reason fields 'Suspended for security reason', the client should receive the suspension email with the suspended cause, if the suspension was for non payment the reason should be no payment, maybe we should be more precis in the email template to avoid those ticket/emails/phones that ask why my account was suspended . this feature it should be addressed to client not to staff.
    also suspension for non payment is not the same as suspension for violation of TOS . Finally this is not a big deal, it was just enhancement to the email template to be more accurate about the suspension reason .
    also adding suspend by 'Staff id XXX' or by system it would be nice in the service view in admin side .
     
     
  24. Like
    PauloV reacted to Blesta Addons in Service Suspended Email Template   
    as Blesta now has option to set service suspension reason, it would be nice to update the email suspension service template to include the service.suspension_reason, a simple condition to check if the service.suspension_reason is set and then include it .
  25. Like
    PauloV reacted to Blesta Addons in custom client fields for contacts   
    it would be better to allow contacts  also to have custom fields like clients account.
    now the custom fields is apply to clients account only .
×
×
  • Create New...