diff --git a/catalyst/api-bundle/Command/TestAPICommand.php b/catalyst/api-bundle/Command/TestAPICommand.php index ee0b8992..bf35ce1e 100644 --- a/catalyst/api-bundle/Command/TestAPICommand.php +++ b/catalyst/api-bundle/Command/TestAPICommand.php @@ -80,6 +80,14 @@ class TestAPICommand extends Command ]; $api->post('/capi/warranties/'. $id, $params); + // warranty set privacy policy + $id = 86811; + $policy_id = 2; + $params = [ + 'privacy_policy_id' => $policy_id, + ]; + $api->post('/capi/warranties/' . $id .'/privacypolicy', $params); + // warranty claim $id = 86811; $serial = 'AJ34LJADR12134LKJL5'; @@ -107,5 +115,9 @@ class TestAPICommand extends Command // vehicle $api->get('/capi/vehicle_manufacturers'); $api->get('/capi/vehicles'); + + // privacy policy + $privacy_policy_id = 2; + $api->get('/capi/privacy_policy/' . $privacy_policy_id ); } } diff --git a/catalyst/api-bundle/Controller/APIController.php b/catalyst/api-bundle/Controller/APIController.php index 7f359680..74c63d3c 100644 --- a/catalyst/api-bundle/Controller/APIController.php +++ b/catalyst/api-bundle/Controller/APIController.php @@ -24,7 +24,8 @@ abstract class APIController extends Controller else { $check = $req->request->get($param); - if (empty($check)) + //if (empty($check)) + if (!isset($check)) $missing[] = $param; } } diff --git a/composer.json b/composer.json index f1871ad1..6c67a564 100644 --- a/composer.json +++ b/composer.json @@ -25,6 +25,7 @@ "symfony/orm-pack": "^1.0", "symfony/profiler-pack": "^1.0", "symfony/security-bundle": "^4.0", + "symfony/translation": "^4.0", "symfony/twig-bundle": "^4.0", "symfony/validator": "^4.0", "symfony/yaml": "^4.0" diff --git a/composer.lock b/composer.lock index 0529081c..54f7abba 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "60a481bcfc7c5465c831c26c20d2d7f6", + "content-hash": "ef9a215401e1fec51336e1d6a9df52d9", "packages": [ { "name": "catalyst/auth-bundle", @@ -4517,6 +4517,82 @@ "homepage": "https://symfony.com", "time": "2019-05-27T08:16:38+00:00" }, + { + "name": "symfony/translation", + "version": "v4.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "4e3e39cc485304f807622bdc64938e4633396406" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/4e3e39cc485304f807622bdc64938e4633396406", + "reference": "4e3e39cc485304f807622bdc64938e4633396406", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^1.1.2" + }, + "conflict": { + "symfony/config": "<3.4", + "symfony/dependency-injection": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "symfony/translation-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/intl": "~3.4|~4.0", + "symfony/service-contracts": "^1.1.2", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Translation Component", + "homepage": "https://symfony.com", + "time": "2019-07-18T10:34:59+00:00" + }, { "name": "symfony/translation-contracts", "version": "v1.1.2", diff --git a/config/acl.yaml b/config/acl.yaml index 64b53ad1..f48850f6 100644 --- a/config/acl.yaml +++ b/config/acl.yaml @@ -292,6 +292,8 @@ access_keys: label: Battery Conflict Report - id: report.popapp.comparison label: Popapp Comparison Report + - id: report.meh.customer + label: RESQ MEH Customer Report - id: service label: Other Services diff --git a/config/api_acl.yaml b/config/api_acl.yaml index b677f99d..39557cf6 100644 --- a/config/api_acl.yaml +++ b/config/api_acl.yaml @@ -18,6 +18,8 @@ access_keys: label: Cancel - id: warranty.delete label: Delete + - id: warranty.set.privacypolicy + label: Set Privacy Policy - id: batterybrand label: Battery Brand Access acls: @@ -43,3 +45,8 @@ access_keys: acls: - id: vehicle.list label: List + - id: privacypolicy + label: Privacy Policy + acls: + - id: privacypolicy.find + label: Find Privacy Policy diff --git a/config/packages/translation.yaml b/config/packages/translation.yaml new file mode 100644 index 00000000..05a2b3d8 --- /dev/null +++ b/config/packages/translation.yaml @@ -0,0 +1,6 @@ +framework: + default_locale: en + translator: + default_path: '%kernel.project_dir%/translations' + fallbacks: + - en diff --git a/config/routes/capi.yaml b/config/routes/capi.yaml index d99fb182..cf533814 100644 --- a/config/routes/capi.yaml +++ b/config/routes/capi.yaml @@ -102,6 +102,12 @@ capi_warranty_delete: controller: App\Controller\CAPI\WarrantyController::delete methods: [POST] +# set privacy policy of warranty +capi_warranty_privacy_policy: + path: /capi/warranties/{id}/privacypolicy + controller: App\Controller\CAPI\WarrantyController::setPrivacyPolicy + methods: [POST] + # customer vehicle api # find customer vehicle by id @@ -121,3 +127,11 @@ capi_cv_register: path: /capi/customer_vehicle controller: App\Controller\CAPI\CustomerVehicle::register methods: [POST] + +# privacy policy + +# get privacy policy by id +capi_privacy_policy: + path: /capi/privacy_policy/{id} + controller: App\Controller\CAPI\PrivacyPolicyController::getPrivacyPolicy + methods: [GET] diff --git a/config/routes/report.yaml b/config/routes/report.yaml index 274a1268..5d815490 100644 --- a/config/routes/report.yaml +++ b/config/routes/report.yaml @@ -37,3 +37,13 @@ rep_popapp_export_csv: path: /report/popapp_export controller: App\Controller\ReportController::popappExportCSV methods: [POST] + +rep_resq_meh_form: + path: /report/meh_customer + controller: App\Controller\ReportController::mehCustomerForm + methods: [GET] + +rep_resq_meh_export_csv: + path: /report/meh_customer_export + controller: App\Controller\ReportController::mehCustomerExportCSV + methods: [POST] diff --git a/public/moogle-assets/74fdd1d049be99432a128ee40e93bff7.png b/public/moogle-assets/74fdd1d049be99432a128ee40e93bff7.png new file mode 100755 index 00000000..80d66ad8 Binary files /dev/null and b/public/moogle-assets/74fdd1d049be99432a128ee40e93bff7.png differ diff --git a/public/moogle-assets/moogle_face_icon.ico b/public/moogle-assets/moogle_face_icon.ico new file mode 100755 index 00000000..104dfbbb Binary files /dev/null and b/public/moogle-assets/moogle_face_icon.ico differ diff --git a/public/moogle-assets/moogleicon.ico b/public/moogle-assets/moogleicon.ico new file mode 100755 index 00000000..35d24ed3 Binary files /dev/null and b/public/moogle-assets/moogleicon.ico differ diff --git a/public/moogle-assets/stuffed_animal_moogle.ico b/public/moogle-assets/stuffed_animal_moogle.ico new file mode 100755 index 00000000..87451007 Binary files /dev/null and b/public/moogle-assets/stuffed_animal_moogle.ico differ diff --git a/public/moogle-assets/yellow_moogle.ico b/public/moogle-assets/yellow_moogle.ico new file mode 100755 index 00000000..f39b5433 Binary files /dev/null and b/public/moogle-assets/yellow_moogle.ico differ diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index f7ec920c..ee3d7c29 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -49,7 +49,7 @@ use App\Entity\PrivacyPolicy; use DateTime; use Exception; - +// mobile API class APIController extends Controller { protected $session; diff --git a/src/Controller/CAPI/PrivacyPolicyController.php b/src/Controller/CAPI/PrivacyPolicyController.php new file mode 100644 index 00000000..034d12ff --- /dev/null +++ b/src/Controller/CAPI/PrivacyPolicyController.php @@ -0,0 +1,43 @@ +acl_gen = $acl_gen; + } + + public function getPrivacyPolicy($id, EntityManagerInterface $em) + { + $this->denyAccessUnlessGranted('privacypolicy.find', null, 'No access.'); + + $privacy_policy = $em->getRepository(PrivacyPolicy::class)->find($id); + + if ($privacy_policy == null) + return new APIResponse(false, 'No privacy policy found with that number.', null, 404); + + $data = [ + 'privacy_policy' => (string) $privacy_policy->getContent(), + ]; + + return new APIResponse(true, 'Privacy policy found.', $data); + + } +} diff --git a/src/Controller/CAPI/WarrantyController.php b/src/Controller/CAPI/WarrantyController.php index 710ea886..d76afffc 100644 --- a/src/Controller/CAPI/WarrantyController.php +++ b/src/Controller/CAPI/WarrantyController.php @@ -16,6 +16,7 @@ use App\Entity\BatterySize; use App\Entity\SAPBattery; use App\Entity\SAPBatterySize; use App\Entity\SAPBatteryBrand; +use App\Entity\PrivacyPolicy; use App\Ramcar\NameValue; use App\Ramcar\WarrantyClass; @@ -24,6 +25,7 @@ use DateTime; use Catalyst\APIBundle\Access\Generator as ACLGenerator; +// third party API class WarrantyController extends APIController { protected $acl_gen; @@ -445,4 +447,50 @@ class WarrantyController extends APIController return new APIResponse(true, 'Warranty deleted successfully.'); } + + public function setPrivacyPolicy(Request $req, EntityManagerInterface $em, $id) + { + $this->denyAccessUnlessGranted('warranty.set.privacypolicy', null, 'No access.'); + + // find warranty + $warr = $em->getRepository(Warranty::class)->find($id); + if ($warr == null) + { + return new APIResponse(false, 'No warranty found with that id.', null, 404); + } + + $params = [ + 'privacy_policy_id', + ]; + + $msg = $this->checkRequiredParameters($req, $params); + error_log('msg - ' . $msg); + if ($msg) + return new APIResponse(false, $msg); + + $privacy_policy_id = $req->request->get('privacy_policy_id'); + + if ($privacy_policy_id == 0) + { + $warr->setPrivacyPolicy(null); + } + else + { + // find privacy policy + $privacy_policy = $em->getRepository(PrivacyPolicy::class)->find($privacy_policy_id); + if ($privacy_policy == null) + { + return new APIResponse(false, 'No privacy policy found with that id.', null, 404); + } + + // set privacy policy of warranty + $warr->setPrivacyPolicy($privacy_policy); + } + + $em->persist($warr); + $em->flush(); + + return new APIResponse(true, 'Privacy policy for warranty set successfully.'); + + } } diff --git a/src/Controller/JobOrderController.php b/src/Controller/JobOrderController.php index 8e1afedd..8e9c7d46 100644 --- a/src/Controller/JobOrderController.php +++ b/src/Controller/JobOrderController.php @@ -42,6 +42,7 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Validator\Validator\ValidatorInterface; use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Contracts\Translation\TranslatorInterface; use Catalyst\MenuBundle\Annotation\Menu; @@ -1918,7 +1919,7 @@ class JobOrderController extends Controller } - public function pdfForm(Request $req, $id) + public function pdfForm(Request $req, $id, TranslatorInterface $translator) { $this->denyAccessUnlessGranted('jo_pdf.list', null, 'No access.'); @@ -1934,10 +1935,14 @@ class JobOrderController extends Controller // set output filename $filename = 'job-order-' . $obj->getID() . '.pdf'; + // translate the title and the logo for the pdf + $translated_title = $translator->trans('jo_title_pdf'); + $translated_logo = $translator->trans('image_jo_pdf'); + // generate the pdf $pdf = new FPDF('P', 'mm', 'letter'); $pdf->AddPage(); - $pdf->SetTitle('Motolite Res-Q Job Order #' . $obj->getID()); + $pdf->setTitle($translated_title . ' #' . $obj->getID()); $pdf->SetFillColor(211, 211, 211); // style defaults @@ -1957,7 +1962,7 @@ class JobOrderController extends Controller $val_width = 60; // insert the logo - $image_path = $this->get('kernel')->getProjectDir() . '/public/assets/images/logo-resq.png'; + $image_path = $this->get('kernel')->getProjectDir() . $translated_logo; $pdf->Image($image_path, $col1_x, 10); // insert JO number diff --git a/src/Controller/PrivacyPolicyController.php b/src/Controller/PrivacyPolicyController.php index 70b39278..dd4e8ed8 100644 --- a/src/Controller/PrivacyPolicyController.php +++ b/src/Controller/PrivacyPolicyController.php @@ -205,7 +205,8 @@ class PrivacyPolicyController extends Controller throw $this->createNotFoundException('The item does not exist'); // set and save values - $row->setName($req->request->get('name')); + $row->setName($req->request->get('name')) + ->setContent($req->request->get('content')); // validate $errors = $validator->validate($row); diff --git a/src/Controller/ReportController.php b/src/Controller/ReportController.php index 0c1ea33a..e06d1711 100644 --- a/src/Controller/ReportController.php +++ b/src/Controller/ReportController.php @@ -13,6 +13,7 @@ use App\Entity\JobOrder; use App\Entity\Warranty; use App\Entity\CustomerVehicle; use App\Entity\MobileSession; +use App\Entity\Customer; use Doctrine\ORM\Query; use Doctrine\ORM\QueryBuilder; @@ -26,6 +27,7 @@ use Symfony\Component\HttpFoundation\File\UploadedFile; use Symfony\Component\Security\Core\Encoder\EncoderFactoryInterface; use Symfony\Component\Validator\Validator\ValidatorInterface; use Symfony\Bundle\FrameworkBundle\Controller\Controller; +use Symfony\Component\Dotenv\Dotenv; use Catalyst\MenuBundle\Annotation\Menu; @@ -494,6 +496,56 @@ class ReportController extends Controller } + /** + * @Menu(selected="outlet_list") + */ + public function mehCustomerForm() + { + $this->denyAccessUnlessGranted('report.meh.customer', null, 'No access.'); + $params['mode'] = 'form'; + + return $this->render('report/meh/form.html.twig', $params); + } + + /** + * @Menu(selected="outlet_list") + */ + public function mehCustomerExportCSV(Request $req, EntityManagerInterface $em) + { + $data = $this->getMEHCustomerData($em); + + $resp = new StreamedResponse(); + $resp->setCallback(function() use ($data) { + // csv output + $csv_handle = fopen('php://output', 'w+'); + fputcsv($csv_handle, [ + 'Last Name', + 'First Name', + 'Mobile Number', + 'Landline Number', + 'Office Number', + 'Fax Number', + 'Plate Number', + 'Date Mobile App Downloaded', + 'Mobile Number Using Mobile App', + ]); + foreach ($data as $row) + { + fputcsv($csv_handle, $row); + } + + fclose($csv_handle); + }); + + $filename = 'resq_meh_customer_report' . '.csv'; + + $resp->setStatusCode(200); + $resp->headers->set('Content-Type', 'text/csv; charset=utf-8'); + $resp->headers->set('Content-Disposition', 'attachment; filename="' . $filename . '"'); + + return $resp; + } + protected function processPopappFile(UploadedFile $csv_file, EntityManagerInterface $em) { // attempt to open file @@ -620,4 +672,53 @@ class ReportController extends Controller return $results; } + protected function getMEHCustomerData(EntityManagerInterface $em) + { + $results = []; + + $conn = $em->getConnection(); + $sql = 'SELECT c.id, c.last_name, c.first_name, c.phone_mobile, c.phone_landline, + c.phone_office, c.phone_fax, + cv.plate_number, jo.source + FROM job_order jo, customer_vehicle cv, customer c + WHERE c.id = cv.customer_id + AND jo.cvehicle_id = cv.id + AND c.policy_mobile_app_id IS NOT NULL + AND jo.source != :source'; + + $stmt = $conn->prepare($sql); + $stmt->execute(array('source' => 'mobile_app')); + + $query_results = $stmt->fetchAll(); + + foreach($query_results as $row) + { + $mobile_date = ''; + $mobile_number = ''; + + $mobile_session = $em->getRepository(MobileSession::class) + ->findOneBy(['customer' => $row['id']], ['date_generated' => 'ASC']); + if ($mobile_session != null) + { + $mobile_date = $mobile_session->getDateGenerated()->format("d M Y"); + $mobile_number = $mobile_session->getPhoneNumber(); + } + + $results[] = [ + 'last_name' => $row['last_name'], + 'first_name' => $row['first_name'], + 'cust_mobile_number' => $row['phone_mobile'], + 'landline_number' => $row['phone_landline'], + 'office_number' => $row['phone_office'], + 'fax_number' => $row['phone_fax'], + 'plate_number' => $row['plate_number'], + 'date_mobile' => $mobile_date, + 'mobile_number' => $mobile_number, + ]; + + } + + return $results; + + } } diff --git a/src/Entity/CustomerVehicle.php b/src/Entity/CustomerVehicle.php index 3af617ef..841f7b16 100644 --- a/src/Entity/CustomerVehicle.php +++ b/src/Entity/CustomerVehicle.php @@ -3,6 +3,7 @@ namespace App\Entity; use Doctrine\ORM\Mapping as ORM; +use Doctrine\Common\Collections\ArrayCollection; use Symfony\Component\Validator\Constraints as Assert; use DateTime; @@ -119,6 +120,8 @@ class CustomerVehicle public function __construct() { $this->flag_active = true; + + $this->job_orders = new ArrayCollection(); } public function getID() @@ -256,6 +259,11 @@ class CustomerVehicle return $this->curr_battery; } + public function getJobOrders() + { + return $this->job_orders; + } + public function setHasMotoliteBattery($flag_motolite_battery = true) { $this->flag_motolite_battery = $flag_motolite_battery; diff --git a/src/Entity/PrivacyPolicy.php b/src/Entity/PrivacyPolicy.php index b59ee551..5dbdc598 100644 --- a/src/Entity/PrivacyPolicy.php +++ b/src/Entity/PrivacyPolicy.php @@ -3,6 +3,7 @@ namespace App\Entity; use Doctrine\ORM\Mapping as ORM; +use Doctrine\Common\Collections\ArrayCollection; use Symfony\Component\Validator\Constraints as Assert; /** @@ -22,6 +23,7 @@ class PrivacyPolicy // name /** * @ORM\Column(type="string", length=80) + * @Assert\NotBlank() */ protected $name; @@ -48,6 +50,16 @@ class PrivacyPolicy */ protected $cust_promo; + /** + * @ORM\OneToMany(targetEntity="Warranty", mappedBy="privacy_policy") + */ + protected $warranties; + + public function __construct() + { + $this->warranties = new ArrayCollection(); + } + public function getID() { return $this->id; @@ -108,9 +120,15 @@ class PrivacyPolicy return $this->cust_promo; } + public function addWarranty(Warranty $warranty) + { + $this->warranties[] = $warranty; + return $this; + } - - - + public function getWarrantiess() + { + return $this->warranties; + } } diff --git a/src/Entity/Warranty.php b/src/Entity/Warranty.php index 1cfa242c..605d81ce 100644 --- a/src/Entity/Warranty.php +++ b/src/Entity/Warranty.php @@ -127,6 +127,13 @@ class Warranty */ protected $flag_activated; + // privacy policy + /** + * @ORM\ManyToOne(targetEntity="PrivacyPolicy", inversedBy="warranties") + * @ORM\JoinColumn(name="warranty_privacy_policy", referencedColumnName="id", nullable=true) + */ + protected $privacy_policy; + public function __construct() { $this->date_create = new DateTime(); @@ -366,4 +373,24 @@ class Warranty { return $this->flag_activated; } + + public function hasPrivacyPolicy() + { + if ($this->privacy_policy == null) + return false; + + return true; + } + + public function setPrivacyPolicy($privacy_policy) + { + $this->privacy_policy = $privacy_policy; + return $this; + } + + public function getPrivacyPolicy() + { + return $this->privacy_policy; + } + } diff --git a/symfony.lock b/symfony.lock index dbf607a5..81b878d9 100644 --- a/symfony.lock +++ b/symfony.lock @@ -293,6 +293,19 @@ "symfony/thanks": { "version": "v1.1.0" }, + "symfony/translation": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "2ad9d2545bce8ca1a863e50e92141f0b9d87ffcd" + }, + "files": [ + "config/packages/translation.yaml", + "translations/.gitignore" + ] + }, "symfony/translation-contracts": { "version": "v1.1.2" }, diff --git a/templates/base.html.twig b/templates/base.html.twig index 9052bb17..3ef5e050 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -5,7 +5,7 @@ - {% block title %}Motolite Res-Q{% endblock %} + {% block title %}{% trans %}block_title{% endtrans %}{% endblock %} @@ -29,8 +29,8 @@ - - + + @@ -52,7 +52,7 @@
@@ -157,6 +157,14 @@ Popapp Comparison Report + + + + + + RESQ MEH Customer Report + + @@ -668,7 +676,7 @@
- {{ "now"|date("Y") }} © Motolite Res-Q + {{ "now"|date("Y") }} © {% trans %}copyright{% endtrans %}
diff --git a/templates/battery-size/form.html.twig b/templates/battery-size/form.html.twig index b89d5fd2..1af1f342 100644 --- a/templates/battery-size/form.html.twig +++ b/templates/battery-size/form.html.twig @@ -46,7 +46,7 @@
@@ -55,7 +55,7 @@
@@ -64,7 +64,7 @@
diff --git a/templates/customer/form.html.twig b/templates/customer/form.html.twig index 8f3ffd32..58d35568 100644 --- a/templates/customer/form.html.twig +++ b/templates/customer/form.html.twig @@ -375,7 +375,7 @@ diff --git a/templates/login.html.twig b/templates/login.html.twig index a9b8343e..a8455dc5 100644 --- a/templates/login.html.twig +++ b/templates/login.html.twig @@ -4,7 +4,7 @@ - Motolite Res-Q | Login + {% trans %}title_login{% endtrans %} @@ -24,7 +24,7 @@ - + @@ -36,13 +36,13 @@ diff --git a/templates/report/meh/form.html.twig b/templates/report/meh/form.html.twig new file mode 100644 index 00000000..8cfd9570 --- /dev/null +++ b/templates/report/meh/form.html.twig @@ -0,0 +1,50 @@ +{% extends 'base.html.twig' %} + +{% block body %} + +
+
+
+

+ RESQ MEH Customer Report +

+
+
+
+ +
+ +
+
+
+
+
+
+ + + +

+ Generate Customer CSV File +

+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+{% endblock %} + diff --git a/translations/.gitignore b/translations/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/translations/messages.en.yaml b/translations/messages.en.yaml new file mode 100644 index 00000000..2ee4305a --- /dev/null +++ b/translations/messages.en.yaml @@ -0,0 +1,20 @@ +# text +title_login: Motolite Res-Q | Login +block_title: Motolite Res-Q +control_panel_sign_in: Sign-in to Control Panel +alt_image_logo_login: Res-Q +alt_image_dashboard: Motolite +copyright: Motolite Res-Q +battery_size_tradein_brand: Trade-in Motolite +battery_size_tradein_premium: Trade-in Premium +battery_size_tradein_other: Trade-in Other +add_cust_vehicle_battery_info: This vehicle is using a Motolite battery +jo_title_pdf: Motolite Res-Q Job Order + +# # images +image_logo_login: /assets/images/logo-resq.png +icon_login: /assets/demo/default/media/img/logo/favicon.ico +icon_base_32x32: /assets/images/favicon/favicon-32x32.png +icon_base_16x16: /assets/images/favicon/favicon-16x16.png +image_dashboard: /assets/images/logo-motolite.png +image_jo_pdf: /public/assets/images/logo-resq.png diff --git a/translations/moogle.en.yaml b/translations/moogle.en.yaml new file mode 100644 index 00000000..40c86e6c --- /dev/null +++ b/translations/moogle.en.yaml @@ -0,0 +1,19 @@ +# text +title_login: Moogle Test | Login +block_title: Moogle Test +control_panel_sign_in: Moogle Test +alt_image_logo_login: Moogle +alt_image_dashboard: Moogle +copyright: Mognet Central +battery_size_tradein_brand: Trade-in Moogle +battery_size_tradein_premium: Trade-in Mog +battery_size_tradein_other: Trade-in Kupo +add_cust_vehicle_battery_info: This vehicle is using a Moogle battery +jo_title_pdf: Moogle Job Order + +# images +image_logo_login: /moogle-assets/74fdd1d049be99432a128ee40e93bff7.png +icon_login: /moogle-assets/moogleicon.ico +icon_base: /moogle-assets/moogleicon.ico +image_dashboard: /moogle-assets/yello_moogle.ico +image_jo_pdf: /public/moogle-assets/74fdd1d049be99432a128ee40e93bff7.png diff --git a/translations/resq.messages.en.yaml b/translations/resq.messages.en.yaml new file mode 100644 index 00000000..babf41d2 --- /dev/null +++ b/translations/resq.messages.en.yaml @@ -0,0 +1,20 @@ +# text +title_login: Motolite Res-Q | Login +block_title: Motolite Res-Q +control_panel_sign_in: Sign-in to Control Panel +alt_image_logo_login: Res-Q +alt_image_dashboard: Motolite +copyright: Motolite Res-Q +battery_size_tradein_brand: Trade-in Motolite +battery_size_tradein_premium: Trade-in Premium +battery_size_tradein_other: Trade-in Other +add_cust_vehicle_battery_info: This vehicle is using a Motolite battery +jo_title_pdf: Motolite Res-Q Job Order + +# images +image_logo_login: /assets/images/logo-resq.png +icon_login: /assets/demo/default/media/img/logo/favicon.ico +icon_base_32x32: /assets/images/favicon/favicon-32x32.png +icon_base_16x16: /assets/images/favicon/favicon-16x16.png +image_dashboard: /assets/images/logo-motolite.png +image_jo_pdf: /public/assets/images/logo-resq.png