Fixed module translations

This commit is contained in:
Franck Allimant
2014-04-22 12:01:59 +02:00
parent c8e1a105c5
commit 7054b3d316
9 changed files with 348 additions and 347 deletions

View File

@@ -1,245 +1,258 @@
<div class="row"> <div class="row">
<!-- Errors --> <!-- Errors -->
{loop name="checkrights.colissimo" type="colissimo.check.rights"} {loop name="checkrights.colissimo" type="colissimo.check.rights"}
<div class="alert alert-danger"> <div class="alert alert-danger">
<p>{$ERRMES} {$ERRFILE} | {intl l="Please change the access rights"}.</p> <p>{$ERRMES} {$ERRFILE} | {intl d='colissimo.ai' l="Please change the access rights"}.</p>
</div> </div>
{/loop} {/loop}
</div> </div>
{elseloop rel="checkrights.colissimo"} {elseloop rel="checkrights.colissimo"}
<div class="alert alert-info"> <div class="alert alert-info">
<p>{intl l="Colissimo Module allows to send your products all around the world with La Poste."}</p> <p>{intl d='colissimo.ai' l="Colissimo Module allows to send your products all around the world with La Poste."}</p>
</div> </div>
<div class="modal fade" id="freeshipping-failed" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal fade" id="freeshipping-failed" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>{intl l="An error occured"}</h3> <h3>{intl d='colissimo.ai' l="An error occured"}</h3>
</div> </div>
<div class="modal-body" id="freeshipping-failed-body"> <div class="modal-body" id="freeshipping-failed-body">
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="general-block-decorator"> <div class="general-block-decorator">
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<ul id="tabbed-menu" class="nav nav-tabs"> <ul id="tabbed-menu" class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#export">{intl l="Export expeditor inet file"}</a> </li> <li class="active"><a data-toggle="tab" href="#export">{intl d='colissimo.ai' l="Export expeditor inet file"}</a> </li>
<li class="{if $tab eq "1"}active{/if}"><a data-toggle="tab" href="#prices_slices_tab">{intl l="Price slices"}</a></li> <li class="{if $tab eq "1"}active{/if}"><a data-toggle="tab" href="#prices_slices_tab">{intl d='colissimo.ai' l="Price slices"}</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div id="export" class="tab-pane active form-container"> <div id="export" class="tab-pane active form-container">
{form name="colissimo.export.form"} {form name="colissimo.export.form"}
{if $form_error}<div class="alert alert-danger">{$form_error_message}</div>{/if} {if $form_error}<div class="alert alert-danger">{$form_error_message}</div>{/if}
<form action="{url path='/admin/module/colissimo/export'}" method="post"> <form action="{url path='/admin/module/colissimo/export'}" method="post">
{form_hidden_fields form=$form} {form_hidden_fields form=$form}
<div class="panel panel-default"> <div class="panel panel-default">
{form_field form=$form field="status_id"} {form_field form=$form field="status_id"}
<div class="panel-heading clearfix"> <div class="panel-heading clearfix">
{intl l="Change orders status after export"} {intl d='colissimo.ai' l="Change orders status after export"}
</div> </div>
<div class="panel-body"> <div class="panel-body">
<table> <table>
<tr> <tr>
<td> <td>
<label for="nochange">{intl l="Do not change"}</label>&nbsp; <label for="nochange">{intl d='colissimo.ai' l="Do not change"}</label>&nbsp;
</td> </td>
<td> <td>
<input type="radio" id="nochange" name="{$name}" value="nochange"/> <input type="radio" id="nochange" name="{$name}" value="nochange"/>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<label for="processing">{intl l="Processing"}</label>&nbsp; <label for="processing">{intl d='colissimo.ai' l="Processing"}</label>&nbsp;
</td> </td>
<td> <td>
<input type="radio" id="processing" name="{$name}" value="processing"/> <input type="radio" id="processing" name="{$name}" value="processing"/>
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td>
<label for="sent">{intl l="Sent"}*</label>&nbsp; <label for="sent">{intl d='colissimo.ai' l="Sent"}*</label>&nbsp;
</td> </td>
<td> <td>
<input type="radio" id="sent" name="{$name}" value="sent"/> <input type="radio" id="sent" name="{$name}" value="sent"/>
</td> </td>
</tr> </tr>
</table> </table>
{/form_field} {/form_field}
<span class="p">{intl l="*If you choose this option, the exported orders would not be available on this page anymore"}</span> <span class="p">{intl d='colissimo.ai' l="*If you choose this option, the exported orders would not be available on this page anymore"}</span>
</div> </div>
</div> </div>
<table class="table table-striped table-condensed"> <table class="table table-striped table-condensed">
<thead> <thead>
<th class="object-title"> <th class="object-title">
{intl l="REF"} {intl d='colissimo.ai' l="REF"}
</th> </th>
<th class="object-title"> <th class="object-title">
{intl l="Date"} {intl d='colissimo.ai' l="Date"}
</th> </th>
<th class="object-title"> <th class="object-title">
{intl l="Total taxed amount"} {intl d='colissimo.ai' l="Total taxed amount"}
</th> </th>
<th class="object-title"> <th class="object-title">
{intl l="Export"} {intl d='colissimo.ai' l="Export"}
</th> </th>
</thead> </thead>
<tbody> <tbody>
{loop name="colissimo.notsend.loop" type="colissimo.notsend.loop"} {loop name="colissimo.notsend.loop" type="colissimo.notsend.loop"}
{form_field form=$form field="order_"|cat:$ID} {form_field form=$form field="order_"|cat:$ID}
<tr> <tr>
<td> <td>
<label for="{$label_attr.for}"> <label for="{$label_attr.for}">
{$label} {$label}
</label> </label>
</td> </td>
<td> <td>
{$CREATE_DATE|date_format} {$CREATE_DATE|date_format}
</td> </td>
<td> <td>
{$TOTAL_TAXED_AMOUNT} {loop name="list.socolissimo.getcurrency" type="currency" id=$CURRENCY}{$SYMBOL}{/loop} {$TOTAL_TAXED_AMOUNT} {loop name="list.socolissimo.getcurrency" type="currency" id=$CURRENCY}{$SYMBOL}{/loop}
</td> </td>
<td> <td>
<input type="checkbox" name="{$name}" id="{$label_attr.for}" value="true" class="form-control"/> <input type="checkbox" name="{$name}" id="{$label_attr.for}" value="true" class="form-control"/>
</td> </td>
</tr> </tr>
{/form_field} {/form_field}
{/loop} {/loop}
</tbody> {elseloop rel="colissimo.notsend.loop"}
</table> <tr>
<button type="submit" name="export_socolissimo_form" value="stay" class="form-submit-button btn btn-sm btn-default" title="{intl l='Export'}">{intl l='Export'}</button> <td colspan="4">
</form> <br />
{/form} <div class="alert alert-info">{intl d='colissimo.ai' l="There is currently not orders to export"}</div>
</div> </td>
<div id="prices_slices_tab" class="tab-pane {if $tab eq 1}active{/if} form-container"> </tr>
<!-- checkbox free shipping --> {/elseloop}
{assign var="isColissimoFreeShipping" value=0} </tbody>
{form name="colissimo.freeshipping.form"} </table>
<form action="{url path="/admin/module/colissimo/freeshipping"}" method="post" id="freeshippingform">
{form_hidden_fields form=$form} {ifloop rel="colissimo.notsend.loop"}
<button type="submit" name="export_socolissimo_form" value="stay" class="form-submit-button btn btn-sm btn-default" title="{intl d='colissimo.ai' l='Export'}">{intl d='colissimo.ai' l='Export'}</button>
{form_field form=$form field="freeshipping"} {/ifloop}
<label> </form>
{$label} {/form}
</label> </div>
<div class="switch-small freeshipping-activation-Colissimo" data-id="0" data-on="success" data-off="danger" data-on-label="<i class='glyphicon glyphicon-ok-circle'></i>" data-off-label="<i class='glyphicon glyphicon-remove-circle'></i>"> <div id="prices_slices_tab" class="tab-pane {if $tab eq 1}active{/if} form-container">
<input type="checkbox" name="{$name}" value="true" {if $data}checked{assign var="isColissimoFreeShipping" value=1}{/if} /> <!-- checkbox free shipping -->
</div> {assign var="isColissimoFreeShipping" value=0}
{/form_field} {form name="colissimo.freeshipping.form"}
</form> <br />
{/form} <form action="{url path="/admin/module/colissimo/freeshipping"}" method="post" id="freeshippingform">
<div id="table-prices-colissimo" {if $isColissimoFreeShipping eq 1} style="display:none;" {/if}> {form_hidden_fields form=$form}
<!-- Prices editing -->
{* -- Add price slice confirmation dialog ----------------------------------- *} {form_field form=$form field="freeshipping"}
{loop type="area" name="list area" backend_context=true} <label>
{include {$label}
file = "includes/generic-create-dialog.html" </label>
dialog_id = "price_slice_create_dialog_{$ID}" <div class="switch-small freeshipping-activation-Colissimo" data-id="0" data-on="success" data-off="danger" data-on-label="<i class='glyphicon glyphicon-ok-circle'></i>" data-off-label="<i class='glyphicon glyphicon-remove-circle'></i>">
dialog_title = {intl l="Create a price slice"} <input type="checkbox" name="{$name}" value="true" {if $data}checked{assign var="isColissimoFreeShipping" value=1}{/if} />
dialog_body = "<input type=\"hidden\" name=\"operation\" value=\"add\"/> </div>
<input type=\"hidden\" name=\"area\" value=\"{$ID}\" /> {/form_field}
<label for=\"weight_{$ID}\">{intl l="Weight up to ... (kg)"}</label></label> </form>
<input type=\"number\" id=\"weight_{$ID}\" name=\"weight\" value=\"1\" class=\"form-control\" pattern=\"\\d+\\.?\\d*\" required/> {/form}
<label for=\"price_{$ID}\">{intl l="Price (€)"}</label></label> <div id="table-prices-colissimo" {if $isColissimoFreeShipping eq 1} style="display:none;" {/if}>
<input type=\"number\" id=\"price_{$ID}\" name=\"price\" value=\"1\" class=\"form-control\" pattern=\"\\d+\\.?\\d*\" required/>" <!-- Prices editing -->
{* -- Add price slice confirmation dialog ----------------------------------- *}
form_action="{url path="/admin/module/colissimo/prices"}" {loop type="area" name="list area" backend_context=true}
{include
dialog_ok_label = {intl l="Create"} file = "includes/generic-create-dialog.html"
dialog_cancel_label = {intl l="Cancel"}
} dialog_id = "price_slice_create_dialog_{$ID}"
<div class="table-responsive"> dialog_title = {intl d='colissimo.ai' l="Create a price slice"}
<table class="table table-striped table-condensed table-left-aligned"> dialog_body = "<input type=\"hidden\" name=\"operation\" value=\"add\"/>
<caption class="clearfix"> <input type=\"hidden\" name=\"area\" value=\"{$ID}\" />
{intl l="Area : "}{$NAME} <label for=\"weight_{$ID}\">{intl d='colissimo.ai' l="Weight up to ... (kg)"}</label></label>
{loop type="auth" name="can_create" role="ADMIN" module="colissimo" access="CREATE"} <input type=\"number\" id=\"weight_{$ID}\" name=\"weight\" value=\"1\" class=\"form-control\" pattern=\"\\d+\\.?\\d*\" required/>
<a class="btn btn-default btn-primary pull-right" title="{intl l='Create a new price slice'}" href="#price_slice_create_dialog_{$ID}" data-toggle="modal"> <label for=\"price_{$ID}\">{intl d='colissimo.ai' l="Price (€)"}</label></label>
<span class="glyphicon glyphicon-plus"></span> <input type=\"number\" id=\"price_{$ID}\" name=\"price\" value=\"1\" class=\"form-control\" pattern=\"\\d+\\.?\\d*\" required/>"
</a>
{/loop} form_action="{url path="/admin/module/colissimo/prices"}"
</caption>
<thead> dialog_ok_label = {intl d='colissimo.ai' l="Create"}
<tr> dialog_cancel_label = {intl d='colissimo.ai' l="Cancel"}
<th class="col-md-3">{intl l="Weight up to ... (kg)"}</th> }
<th class="col-md-5">{intl l="Price (€)"}</th> <div class="table-responsive">
<th class="col-md-1">{intl l="Actions"}</th> <table class="table table-striped table-condensed table-left-aligned">
</tr> <caption class="clearfix">
</thead> {intl d='colissimo.ai' l="Area : "}{$NAME}
<tbody> {loop type="auth" name="can_create" role="ADMIN" module="colissimo" access="CREATE"}
{loop type="colissimo" name="colissimo" area=$ID} <a class="btn btn-default btn-primary pull-right" title="{intl d='colissimo.ai' l='Create a new price slice'}" href="#price_slice_create_dialog_{$ID}" data-toggle="modal">
{* -- EDIT price slice confirmation dialog ----------------------------------- *} <span class="glyphicon glyphicon-plus"></span>
{include </a>
file = "includes/generic-confirm-dialog.html" {/loop}
</caption>
dialog_id = "price_slice_edit_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}" <thead>
dialog_title = {intl l="Edit a price slice"} <tr>
dialog_message = "<input type=\"hidden\" name=\"operation\" value=\"add\"/> <th class="col-md-3">{intl d='colissimo.ai' l="Weight up to ... (kg)"}</th>
<input type=\"hidden\" name=\"area\" value=\"{$ID}\"/> <th class="col-md-5">{intl d='colissimo.ai' l="Price (€)"}</th>
<input type=\"hidden\" name=\"weight\" value=\"{$MAX_WEIGHT}\"/> <th class="col-md-1">{intl d='colissimo.ai' l="Actions"}</th>
<label for=\"price_edit_{$ID}_{$MAX_WEIGHT}\">{intl l='Price (€)'}</label> </tr>
<input type=\"number\" id=\"price_edit_{$ID}_{$MAX_WEIGHT}\" class=\"form-control\" name=\"price\" value=\"{$PRICE}\" pattern=\"\\d+\\.?\\d*\" required/>" </thead>
<tbody>
form_action="{url path="/admin/module/colissimo/prices"}" {loop type="colissimo" name="colissimo" area=$ID}
dialog_ok_label = {intl l="Edit"} {* -- EDIT price slice confirmation dialog ----------------------------------- *}
dialog_cancel_label = {intl l="Cancel"} {include
} file = "includes/generic-confirm-dialog.html"
{* -- Delete price slice confirmation dialog ----------------------------------- *}
{include dialog_id = "price_slice_edit_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}"
file = "includes/generic-confirm-dialog.html" dialog_title = {intl d='colissimo.ai' l="Edit a price slice"}
dialog_message = "<input type=\"hidden\" name=\"operation\" value=\"add\"/>
dialog_id = "price_slice_delete_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}" <input type=\"hidden\" name=\"area\" value=\"{$ID}\"/>
dialog_title = {intl l="Delete a price slice"} <input type=\"hidden\" name=\"weight\" value=\"{$MAX_WEIGHT}\"/>
dialog_message = "<input type=\"hidden\" name=\"operation\" value=\"delete\"/> <label for=\"price_edit_{$ID}_{$MAX_WEIGHT}\">{intl d='colissimo.ai' l='Price (€)'}</label>
<input type=\"hidden\" name=\"area\" value=\"{$ID}\"/> <input type=\"number\" id=\"price_edit_{$ID}_{$MAX_WEIGHT}\" class=\"form-control\" name=\"price\" value=\"{$PRICE}\" pattern=\"\\d+\\.?\\d*\" required/>"
<input type=\"hidden\" name=\"weight\" value=\"{$MAX_WEIGHT}\"/>
{intl l="Do you really want to delete this slice ?"}" form_action="{url path="/admin/module/colissimo/prices"}"
dialog_ok_label = {intl d='colissimo.ai' l="Edit"}
form_action="{url path="/admin/module/colissimo/prices"}" dialog_cancel_label = {intl d='colissimo.ai' l="Cancel"}
dialog_ok_label = {intl l="Delete"} }
dialog_cancel_label = {intl l="Cancel"} {* -- Delete price slice confirmation dialog ----------------------------------- *}
} {include
file = "includes/generic-confirm-dialog.html"
<tr>
<td>{$MAX_WEIGHT}</td> dialog_id = "price_slice_delete_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}"
<td>{$PRICE}</td> dialog_title = {intl d='colissimo.ai' l="Delete a price slice"}
<td> dialog_message = "<input type=\"hidden\" name=\"operation\" value=\"delete\"/>
<div class="btn-group"> <input type=\"hidden\" name=\"area\" value=\"{$ID}\"/>
{loop type="auth" name="can_change" role="ADMIN" module="colissimo" access="UPDATE"} <input type=\"hidden\" name=\"weight\" value=\"{$MAX_WEIGHT}\"/>
<a class="btn btn-default btn-xs" title="{intl l='Edit this price slice'}" href="#price_slice_edit_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}" data-toggle="modal"> {intl d='colissimo.ai' l="Do you really want to delete this slice ?"}"
<span class="glyphicon glyphicon-edit"></span>
</a> form_action="{url path="/admin/module/colissimo/prices"}"
<a class="btn btn-default btn-xs" title="{intl l='Delete this price slice'}" href="#price_slice_delete_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}" data-toggle="modal"> dialog_ok_label = {intl d='colissimo.ai' l="Delete"}
<span class="glyphicon glyphicon-trash"></span> dialog_cancel_label = {intl d='colissimo.ai' l="Cancel"}
</a> }
{/loop}
</div> <tr>
</td> <td>{$MAX_WEIGHT}</td>
</tr> <td>{$PRICE}</td>
{/loop} <td>
</tbody> <div class="btn-group">
</table> {loop type="auth" name="can_change" role="ADMIN" module="colissimo" access="UPDATE"}
</div> <a class="btn btn-default btn-xs" title="{intl d='colissimo.ai' l='Edit this price slice'}" href="#price_slice_edit_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}" data-toggle="modal">
{/loop} <span class="glyphicon glyphicon-edit"></span>
</div> </a>
</div> <a class="btn btn-default btn-xs" title="{intl d='colissimo.ai' l='Delete this price slice'}" href="#price_slice_delete_dialog_{$ID}_{$MAX_WEIGHT|replace:'.':'-'}" data-toggle="modal">
</div> <span class="glyphicon glyphicon-trash"></span>
</div> </a>
</div> {/loop}
</div> </div>
</td>
</tr>
{/elseloop} {/loop}
</tbody>
</table>
</div>
{/loop}
</div>
</div>
</div>
</div>
</div>
</div>
{/elseloop}

View File

@@ -31,6 +31,8 @@ class Colissimo extends AbstractDeliveryModule
const JSON_PRICE_RESOURCE = "/Config/prices.json"; const JSON_PRICE_RESOURCE = "/Config/prices.json";
const MESSAGE_DOMAIN = 'colissimo';
public static function getPrices() public static function getPrices()
{ {
if (null === self::$prices) { if (null === self::$prices) {
@@ -82,7 +84,7 @@ class Colissimo extends AbstractDeliveryModule
/* check if Colissimo delivers the asked area */ /* check if Colissimo delivers the asked area */
if (!isset($prices[$areaId]) || !isset($prices[$areaId]["slices"])) { if (!isset($prices[$areaId]) || !isset($prices[$areaId]["slices"])) {
throw new DeliveryException( throw new DeliveryException(
Translator::getInstance()->trans("Colissimo delivery unavailable for the delivery country") Translator::getInstance()->trans("Colissimo delivery unavailable for the delivery country", [], self::MESSAGE_DOMAIN)
); );
} }
@@ -96,7 +98,8 @@ class Colissimo extends AbstractDeliveryModule
throw new DeliveryException( throw new DeliveryException(
Translator::getInstance()->trans( Translator::getInstance()->trans(
"Colissimo delivery unavailable for this cart weight (%weight kg)", "Colissimo delivery unavailable for this cart weight (%weight kg)",
array("%weight" => $weight) array("%weight" => $weight),
self::MESSAGE_DOMAIN
) )
); );
} }

View File

@@ -1,50 +1,50 @@
# This is a fix for InnoDB in MySQL >= 4.1.x # This is a fix for InnoDB in MySQL >= 4.1.x
# It "suspends judgement" for fkey relationships until are tables are set. # It "suspends judgement" for fkey relationships until are tables are set.
SET FOREIGN_KEY_CHECKS = 0; SET FOREIGN_KEY_CHECKS = 0;
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------
-- colissimo_freeshipping -- colissimo_freeshipping
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------
DROP TABLE IF EXISTS `colissimo_freeshipping`; DROP TABLE IF EXISTS `colissimo_freeshipping`;
CREATE TABLE `colissimo_freeshipping` CREATE TABLE `colissimo_freeshipping`
( (
`id` INTEGER NOT NULL AUTO_INCREMENT, `id` INTEGER NOT NULL AUTO_INCREMENT,
`active` TINYINT(1) NOT NULL, `active` TINYINT(1) NOT NULL,
`created_at` DATETIME, `created_at` DATETIME,
`updated_at` DATETIME, `updated_at` DATETIME,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB; ) ENGINE=InnoDB;
INSERT INTO `colissimo_freeshipping`(`active`, `created_at`, `updated_at`) VALUES (0, NOW(), NOW()); INSERT INTO `colissimo_freeshipping`(`active`, `created_at`, `updated_at`) VALUES (0, NOW(), NOW());
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------
-- Mail templates for colissimo -- Mail templates for colissimo
-- --------------------------------------------------------------------- -- ---------------------------------------------------------------------
-- First, delete existing entries
SET @var := 0; -- First, delete existing entries
SELECT @var := `id` FROM `message` WHERE name="mail_colissimo"; SET @var := 0;
DELETE FROM `message` WHERE `id`=@var; SELECT @var := `id` FROM `message` WHERE name="mail_colissimo";
-- Try if ON DELETE constraint isn't set DELETE FROM `message` WHERE `id`=@var;
DELETE FROM `message_i18n` WHERE `id`=@var; -- Try if ON DELETE constraint isn't set
DELETE FROM `message_i18n` WHERE `id`=@var;
-- Then add new entries
SELECT @max := MAX(`id`) FROM `message`; -- Then add new entries
SET @max := @max+1; SELECT @max := MAX(`id`) FROM `message`;
-- insert message SET @max := @max+1;
INSERT INTO `message` (`id`, `name`, `secured`) VALUES -- insert message
(@max, INSERT INTO `message` (`id`, `name`, `secured`) VALUES
'mail_colissimo', (@max,
'0' 'mail_colissimo',
); '0'
);
-- and template fr_FR
INSERT INTO `message_i18n` (`id`, `locale`, `title`, `subject`, `text_message`, `html_message`) VALUES -- and template fr_FR
(@max, 'fr_FR', 'mail livraison colissimo', 'Suivi colissimo commande : {$order_ref}', '{loop type="customer" name="customer.order" current="false" id="$customer_id" backend_context="1"}\r\n{$LASTNAME} {$FIRSTNAME},\r\n{/loop}\r\nNous vous remercions de votre commande sur notre site {config key="store_name"}\r\nUn colis concernant votre commande {$order_ref} du {format_date date=$order_date} a quitté nos entrepôts pour être pris en charge par La Poste le {format_date date=$update_date}.\r\nSon numéro de suivi est le suivant : {$package}\r\nIl vous permet de suivre votre colis en ligne sur le site de La Poste : www.coliposte.net\r\nIl vous sera, par ailleurs, très utile si vous étiez absent au moment de la livraison de votre colis : en fournissant ce numéro de Colissimo Suivi, vous pourrez retirer votre colis dans le bureau de Poste le plus proche.\r\nATTENTION ! Si vous ne trouvez pas l''avis de passage normalement déposé dans votre boîte aux lettres au bout de 48 Heures jours ouvrables, n''hésitez pas à aller le réclamer à votre bureau de Poste, muni de votre numéro de Colissimo Suivi.\r\nNous restons à votre disposition pour toute information complémentaire.\r\nCordialement', '{loop type="customer" name="customer.order" current="false" id="$customer_id" backend_context="1"}\r\n{$LASTNAME} {$FIRSTNAME},\r\n{/loop}\r\nNous vous remercions de votre commande sur notre site {config key="store_name"}\r\nUn colis concernant votre commande {$order_ref} du {format_date date=$order_date} a quitté nos entrepôts pour être pris en charge par La Poste le {format_date date=$update_date}.\r\nSon numéro de suivi est le suivant : {$package}\r\nIl vous permet de suivre votre colis en ligne sur le site de La Poste : www.coliposte.net\r\nIl vous sera, par ailleurs, très utile si vous étiez absent au moment de la livraison de votre colis : en fournissant ce numéro de Colissimo Suivi, vous pourrez retirer votre colis dans le bureau de Poste le plus proche.\r\nATTENTION ! Si vous ne trouvez pas l''avis de passage normalement déposé dans votre boîte aux lettres au bout de 48 Heures jours ouvrables, n''hésitez pas à aller le réclamer à votre bureau de Poste, muni de votre numéro de Colissimo Suivi.\r\nNous restons à votre disposition pour toute information complémentaire.\r\nCordialement'); INSERT INTO `message_i18n` (`id`, `locale`, `title`, `subject`, `text_message`, `html_message`) VALUES
(@max, 'en_US', 'Colissimo shipping message', 'Your order {$order_ref} has been shipped', '{loop type="customer" name="customer.order" current="false" id="$customer_id" backend_context="1"}\r\nDear {$FIRSTNAME} {$LASTNAME},\r\n{/loop}\r\nThank you for your order on our online store {config key="store_name"}.\r\nYour order {$order_ref} dated {format_date date=$order_date} has been shipped on {format_date date=$update_date}.\r\nThe tracking number for this delivery is {$package}. Please check the La Poste website for tracking your parcel: www.coliposte.net.\r\nYou can use this tracking number to get your parcel in your local La Poste office. If don''t get an advice in your mailbox after two working days, claim your parcel at your local La Poste office, using this tracking number.\r\nFeel free to contact us for any forther information\r\nBest Regards.', '{loop type="customer" name="customer.order" current="false" id="$customer_id" backend_context="1"}\r\n<p>Dear {$FIRSTNAME} {$LASTNAME},</p>\r\n{/loop}\r\n<p>Thank you for your order on our online store {config key="store_name"}.</p>\r\n<p>Your order {$order_ref} dated {format_date date=$order_date} has been shipped on {format_date date=$update_date}.\r\nThe tracking number for this delivery is {$package}. Please check the La Poste website for tracking your parcel: <a href="www.coliposte.net">www.coliposte.net</a>.</p>\r\n<p>You can use this tracking number to get your parcel in your local La Poste office. If don''t get an advice in your mailbox after two working days, claim your parcel at your local La Poste office, using this tracking number.</p>\r\n<p>Feel free to contact us for any forther information</p>\r\n<p>Best Regards.</p>'),
(@max, 'fr_FR', 'Message d''expédition de colissimo', 'Suivi colissimo commande : {$order_ref}', '{loop type="customer" name="customer.order" current="false" id="$customer_id" backend_context="1"}\r\n{$LASTNAME} {$FIRSTNAME},\r\n{/loop}\r\nNous vous remercions de votre commande sur notre site {config key="store_name"}\r\nUn colis concernant votre commande {$order_ref} du {format_date date=$order_date} a quitté nos entrepôts pour être pris en charge par La Poste le {format_date date=$update_date}.\r\nSon numéro de suivi est le suivant : {$package}\r\nIl vous permet de suivre votre colis en ligne sur le site de La Poste : www.coliposte.net\r\nIl vous sera, par ailleurs, très utile si vous étiez absent au moment de la livraison de votre colis : en fournissant ce numéro de Colissimo Suivi, vous pourrez retirer votre colis dans le bureau de Poste le plus proche.\r\nATTENTION ! Si vous ne trouvez pas l''avis de passage normalement déposé dans votre boîte aux lettres au bout de 48 Heures jours ouvrables, n''hésitez pas à aller le réclamer à votre bureau de Poste, muni de votre numéro de Colissimo Suivi.\r\nNous restons à votre disposition pour toute information complémentaire.\r\nCordialement', '{loop type="customer" name="customer.order" current="false" id="$customer_id" backend_context="1"}\r\n{$LASTNAME} {$FIRSTNAME},\r\n{/loop}\r\nNous vous remercions de votre commande sur notre site {config key="store_name"}\r\nUn colis concernant votre commande {$order_ref} du {format_date date=$order_date} a quitté nos entrepôts pour être pris en charge par La Poste le {format_date date=$update_date}.\r\nSon numéro de suivi est le suivant : {$package}\r\nIl vous permet de suivre votre colis en ligne sur le site de La Poste : www.coliposte.net\r\nIl vous sera, par ailleurs, très utile si vous étiez absent au moment de la livraison de votre colis : en fournissant ce numéro de Colissimo Suivi, vous pourrez retirer votre colis dans le bureau de Poste le plus proche.\r\nATTENTION ! Si vous ne trouvez pas l''avis de passage normalement déposé dans votre boîte aux lettres au bout de 48 Heures jours ouvrables, n''hésitez pas à aller le réclamer à votre bureau de Poste, muni de votre numéro de Colissimo Suivi.\r\nNous restons à votre disposition pour toute information complémentaire.\r\nCordialement');
# This restores the fkey checks, after having unset them earlier # This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -12,6 +12,7 @@
namespace Colissimo\Controller; namespace Colissimo\Controller;
use Colissimo\Colissimo;
use Colissimo\Model\ColissimoQuery; use Colissimo\Model\ColissimoQuery;
use Propel\Runtime\ActiveQuery\Criteria; use Propel\Runtime\ActiveQuery\Criteria;
use Thelia\Controller\Admin\BaseAdminController; use Thelia\Controller\Admin\BaseAdminController;
@@ -139,7 +140,7 @@ class Export extends BaseAdminController
} catch (FormValidationException $e) { } catch (FormValidationException $e) {
$this->setupFormErrorContext( $this->setupFormErrorContext(
Translator::getInstance()->trans("colissimo expeditor export"), Translator::getInstance()->trans("colissimo expeditor export", [], Colissimo::MESSAGE_DOMAIN),
$e->getMessage(), $e->getMessage(),
$form, $form,
$e $e

View File

@@ -69,7 +69,7 @@ class Export extends BaseForm
) )
)) ))
], ],
'label' => Translator::getInstance()->trans('Modify status export after export'), 'label' => Translator::getInstance()->trans('Modify status export after export', [], Colissimo::MESSAGE_DOMAIN),
'label_attr' => [ 'label_attr' => [
'for' => 'status_id' 'for' => 'status_id'
] ]
@@ -87,7 +87,7 @@ class Export extends BaseForm
public function verifyValue($value, ExecutionContextInterface $context) public function verifyValue($value, ExecutionContextInterface $context)
{ {
if (!preg_match("#^nochange|processing|sent$#",$value)) { if (!preg_match("#^nochange|processing|sent$#",$value)) {
$context->addViolation(Translator::getInstance()->trans('select a valid status')); $context->addViolation(Translator::getInstance()->trans('select a valid status', [], Colissimo::MESSAGE_DOMAIN));
} }
} }

View File

@@ -13,6 +13,7 @@
namespace Colissimo\Form; namespace Colissimo\Form;
use Colissimo\Colissimo;
use Colissimo\Model\ColissimoFreeshippingQuery; use Colissimo\Model\ColissimoFreeshippingQuery;
use Thelia\Core\Translation\Translator; use Thelia\Core\Translation\Translator;
use Thelia\Form\BaseForm; use Thelia\Form\BaseForm;
@@ -44,7 +45,7 @@ class FreeShipping extends BaseForm {
$this->formBuilder $this->formBuilder
->add("freeshipping", "checkbox", array( ->add("freeshipping", "checkbox", array(
'data'=>$freeshipping, 'data'=>$freeshipping,
'label'=>Translator::getInstance()->trans("Activate free shipping: ") 'label'=>Translator::getInstance()->trans("Activate free shipping: ", [], Colissimo::MESSAGE_DOMAIN)
)) ))
; ;
} }

View File

@@ -1,22 +1,12 @@
<?php <?php
return array(
'Can\'t read Config directory'=>'Can\'t read Config directory', return array(
'Can\'t write Config directory'=>'Can\'t write Config directory', 'Activate free shipping: ' => 'Activate free shipping: ',
'Can\'t read file'=>'Can\'t read file', 'Can\'t read Config directory' => 'Can\'t read Config directory',
'Can\'t write file'=>'Can\'t write file', 'Can\'t read file' => 'Can\'t read file',
'Please change the access rights'=>'Please change the access rights', 'Can\'t write Config directory' => 'Can\'t write Config directory',
'Colissimo Module allows to send your products all around the world with La Poste.'=>'Colissimo Module allows to send your products all around the world with La Poste.', 'Can\'t write file' => 'Can\'t write file',
'Create a price slice'=>'Create a price slice', 'Modify status export after export' => 'Change orders status after export',
'Weight up to ... (kg)'=>'Weight up to ... (kg)', 'colissimo expeditor export' => 'Colissimo Expeditor export',
'Price ('=>'Price (', 'select a valid status' => 'Select a valid order status',
'Create'=>'Create', );
'Cancel'=>'Cancel',
'Area '=>'Area ',
'Actions'=>'Actions',
'Edit a price slice'=>'Edit a price slice',
'Edit'=>'Edit',
'Delete a price slice'=>'Delete a price slice',
'Do you really want to delete this slice '=>'Do you really want to delete this slice ',
'Delete'=>'Delete',
'Activate free shipping: '=>'Activate free shipping: ',
);

View File

@@ -1,22 +1,14 @@
<?php <?php
return array(
'Can\'t read Config directory'=>'Le dossier Config ne peut être lu', return array(
'Can\'t write Config directory'=>'Le dossier Config ne peut être écrit', 'Activate free shipping: ' => 'Activer la livraison offerte: ',
'Can\'t read file'=>'Le fichier suivant ne peut être lu', 'Can\'t read Config directory' => 'Le dossier Config ne peut être lu',
'Can\'t write file'=>'Le fichier suivant ne peut être écrit', 'Can\'t read file' => 'Le fichier suivant ne peut être lu',
'Please change the access rights'=>'Veuillez changer les droits d\'accès', 'Can\'t write Config directory' => 'Le dossier Config ne peut être écrit',
'Colissimo Module allows to send your products all around the world with La Poste.'=>'Le module Colissimo vous permet d\'envoyer des colis dans le monde entier avec La Poste.', 'Can\'t write file' => 'Le fichier suivant ne peut être écrit',
'Create a price slice' => 'Créer une tranche de prix', 'Colissimo delivery unavailable for the delivery country' => 'La livraison par Colissimo n\'est pas disponible dans ce pays',
'Weight up to ... (kg)'=>'Poids ... (kg)', 'Colissimo delivery unavailable for this cart weight (%weight kg)' => 'La livraison par Colissimo n\'est pas disponible pour un panier de %weight Kg',
'Price (€)'=>'Prix (€)', 'Modify status export after export' => 'Modification du statut des commandes après l\'export',
'Create'=>'Créer', 'colissimo expeditor export' => 'Export pour le logiciel Expeditor',
'Cancel'=>'Annuler', 'select a valid status' => 'Choisissez un statut de commande valide.',
'Area : '=>'Zone de livraison : ', );
'Actions'=>'Actions',
'Edit'=>'Modifer',
'Edit a price slice' => 'Modifier une tranche de prix',
'Delete a price slice' => 'Supprimer une tranche de prix',
'Do you really want to delete this slice ?'=>'Voulez-vous réellement supprimer cette tranche de prix ?',
'Delete'=>'Supprimer',
'Activate free shipping: '=>'Livraison offerte: ',
);

View File

@@ -11,6 +11,7 @@
/*************************************************************************************/ /*************************************************************************************/
namespace Colissimo\Loop; namespace Colissimo\Loop;
use Colissimo\Colissimo;
use Thelia\Core\Template\Loop\Argument\ArgumentCollection; use Thelia\Core\Template\Loop\Argument\ArgumentCollection;
use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\BaseLoop;
use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\LoopResultRow;
@@ -36,19 +37,19 @@ class CheckRightsLoop extends BaseLoop implements ArraySearchLoopInterface
$ret = array(); $ret = array();
$dir = __DIR__."/../Config/"; $dir = __DIR__."/../Config/";
if (!is_readable($dir)) { if (!is_readable($dir)) {
$ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't read Config directory"), "ERRFILE"=>""); $ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't read Config directory", [], Colissimo::MESSAGE_DOMAIN), "ERRFILE"=>"");
} }
if (!is_writable($dir)) { if (!is_writable($dir)) {
$ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't write Config directory"), "ERRFILE"=>""); $ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't write Config directory", [], Colissimo::MESSAGE_DOMAIN), "ERRFILE"=>"");
} }
if ($handle = opendir($dir)) { if ($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) { while (false !== ($file = readdir($handle))) {
if (strlen($file) > 5 && substr($file, -5) === ".json") { if (strlen($file) > 5 && substr($file, -5) === ".json") {
if (!is_readable($dir.$file)) { if (!is_readable($dir.$file)) {
$ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't read file"), "ERRFILE"=>"Colissimo/Config/".$file); $ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't read file", [], Colissimo::MESSAGE_DOMAIN), "ERRFILE"=>"Colissimo/Config/".$file);
} }
if (!is_writable($dir.$file)) { if (!is_writable($dir.$file)) {
$ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't write file"), "ERRFILE"=>"Colissimo/Config/".$file); $ret[] = array("ERRMES"=>Translator::getInstance()->trans("Can't write file", [], Colissimo::MESSAGE_DOMAIN), "ERRFILE"=>"Colissimo/Config/".$file);
} }
} }
} }