Merge branch 'master' of https://github.com/thelia/thelia into coupon

# By Manuel Raynaud (8) and franck (2)
# Via franck
* 'master' of https://github.com/thelia/thelia:
  en_EN -> en_UK, the "en_EN" locale does not exists.
  Smarty inheritance in admin template.
  fix typo in phpdoc
  complete test for foramt_number smarty function
  test foramt_date without datetime object
  create foramt_number smarty function
  remove sqlmap file
  add some phpdoc
  complete test for format_date smarty function
  create new smarty function for displaying date in expected format

Conflicts:
	reset_install.sh
This commit is contained in:
gmorel
2013-09-04 12:01:12 +02:00
56 changed files with 3243 additions and 1526 deletions

View File

@@ -1,11 +1,9 @@
{$page_title={intl l='Page not found'}}
{extends file="general_error.html"}
{include file='includes/header.inc.html'}
{block name="page-title"}{intl l='Page not found'}{/block}
{block name="content-title"}{intl l='Page not found'}{/block}
<div id="wrapper" class="container">
<h1>{intl l="Oops! An Error Occurred"}</h1>
<h2>{intl l='The server returned a "404 Not Found"'}</h2>
<p>{intl l='The page you\'ve requested was not found. Please check the page address, and try again.'}</p>
</div>
{include file='includes/footer.inc.html'}
{block name="error-message"}
<h2>{intl l='The server returned a "404 Not Found"'}</h2>
<p>{intl l='The page you\'ve requested was not found. Please check the page address, and try again.'}</p>
{/block}

View File

@@ -0,0 +1,223 @@
{* -- By default, check admin login ----------------------------------------- *}
{block name="check-auth"}
{check_auth roles="ADMIN" permissions="{block name="check-permissions"}{/block}" login_tpl="/admin/login"}
{/block}
<!DOCTYPE html>
<html lang="{$lang_code}">
<head>
<title>{block name="page-title"}Default Page Title{/block} - {intl l='Thelia Back Office'}</title>
{images file='assets/img/favicon.ico'}<link rel="shortcut icon" href="{$asset_url}" />{/images}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{block name="meta"}{/block}
{* -- Bootstrap CSS section --------------------------------------------- *}
{block name="before-bootstrap-css"}{/block}
{stylesheets file='assets/bootstrap/css/bootstrap.css' filters='cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{stylesheets file='assets/bootstrap/css/bootstrap-responsive.css' filters='cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{block name="after-bootstrap-css"}{/block}
{* -- Admin CSS section ------------------------------------------------- *}
{block name="before-admin-css"}{/block}
{stylesheets file='assets/css/*' filters='less,cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{block name="after-admin-css"}{/block}
{* Modules css are included here *}
{module_include location='head_css'}
</head>
<body>
{* display top bar only if admin is connected *}
{loop name="top-bar-auth" type="auth" roles="ADMIN"}
{* -- Brand bar section ------------------------------------------------- *}
{module_include location='before_topbar'}
<div class="topbar">
<div class="container">
<div class="version-info">{intl l='Version %ver' ver="{$THELIA_VERSION}"}</div>
{module_include location='inside_topbar'}
<div class="user-info">
<a class="profile" href="{url path='admin/edit_profile'}">{admin attr="firstname"} {admin attr="lastname"}</a>
<a class="logout" href="{url path='admin/logout'}" title="{intl l='Close administation session'}">{intl l="Logout"}</a></div>
{loop name="top-bar-search" type="auth" roles="ADMIN" permissions="admin.search"}
<form class="form-search pull-right" action="{url path='/admin/search'}">
<div class="control-group">
<div class="input-append">
<input type="text" class="input-medium search-query" id="search_term" name="search_term" placeholder="{intl l='Search'}" />
<button class="btn"><i class="icon-search"></i></button>
</div>
</div>
</form>
{/loop}
<div class="view-shop"><a href="{navigate to="index"}" title="{intl l='View site'}" target="_blank"><i class="icon-white icon-eye-open"></i> {intl l="View shop"}</a></div>
</div>
</div>
{module_include location='after_topbar'}
{* -- Top menu section -------------------------------------------------- *}
{module_include location='before_top_menu'}
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<div class="nav-collapse">
<ul class="nav">
<li class="{if $admin_current_location == 'home'}active{/if}" id="home_menu">
<a href="{url path='/admin/home'}">{intl l="Home"}</a>
</li>
{loop name="menu-auth-customer" type="auth" roles="ADMIN" permissions="admin.customers.view"}
<li class="{if $admin_current_location == 'customer'}active{/if}" id="customers_menu">
<a href="{url path='/admin/customers'}">{intl l="Customers"}</a>
</li>
{/loop}
{loop name="menu-auth-order" type="auth" roles="ADMIN" permissions="admin.orders.view"}
<li class="dropdown {if $admin_current_location == 'customer'}active{/if}" id="orders_menu" data-toggle="dropdown">
<a href="#">{intl l="Orders"} <span class="caret"></span></a>
<ul class="dropdown-menu config_menu" role="menu">
<li role="menuitem"><a data-target="{url path='admin/orders'}" href="{url path='admin/orders'}">
{intl l="All orders"}
<span class="badge badge-important">{count type="order"}</span></a>
</li>
{loop name="order-status-list" type="order-status"}
<li role="menuitem">
<a data-target="{url path='admin/orders/$LABEL'}" href="{url path='admin/orders/$LABEL'}">
{$LABEL} <span class="badge badge-important">{count type="order" status="{$ID}"}</span>
</a>
</li>
{/loop}
</ul>
</li>
{/loop}
{loop name="menu-auth-catalog" type="auth" roles="ADMIN" permissions="admin.catalog.view"}
<li class="{if $admin_current_location == 'catalog'}active{/if}" id="catalog_menu">
<a href="{url path='/admin/catalog'}">{intl l="Catalog"}</a>
</li>
{/loop}
{loop name="menu-auth-content" type="auth" roles="ADMIN" permissions="admin.content.view"}
<li class="{if $admin_current_location == 'content'}active{/if}" id="content_menu">
<a href="{url path='/admin/content'}">{intl l="Content"}</a>
</li>
{/loop}
{loop name="menu-auth-discount" type="auth" roles="ADMIN" permissions="admin.discount.view"}
<li class="{if $admin_current_location == 'discount'}active{/if}" id="discount_menu">
<a href="{url path='/admin/discount'}">{intl l="Discount"}</a>
</li>
{/loop}
{loop name="menu-auth-config" type="auth" roles="ADMIN" permissions="admin.config.view"}
<li class="{if $admin_current_location == 'configuration'}active{/if}" id="config_menu">
<a href="{url path='/admin/configuration'}">{intl l="Configuration"}</a>
</li>
{/loop}
{loop name="menu-auth-modules" type="auth" roles="ADMIN" permissions="admin.modules.view"}
<li class="{if $admin_current_location == 'modules'}active{/if}" id="modules_menu">
<a href="{url path='/admin/modules'}">{intl l="Modules"}</a>
</li>
{module_include location='in_top_menu_items'}
{/loop}
</ul>
</div>
</div>
</div>
</div>
{module_include location='after_top_menu'}
{/loop}
{* A basic brandbar is displayed if user is not connected *}
{elseloop rel="top-bar-auth"}
<div class="brandbar brandbar-wide container">
<a class="brand" href="{url path='/admin'}">{images file='assets/img/logo-thelia-34px.png'}<img src="{$asset_url}" alt="{intl l='Thelia, solution e-commerce libre'}" />{/images}</a>
</div>
{/elseloop}
{* -- Main page content section ----------------------------------------- *}
{block name="main-content"}Put here the content of the template{/block}
{* -- Footer section ---------------------------------------------------- *}
{module_include location='before_footer'}
<hr />
<footer class="footer">
<div class="container">
<p>{intl l='&copy; Thelia 2013'}
- <a href="http://www.openstudio.fr/" target="_blank">{intl l='Édité par OpenStudio'}</a>
- <a href="http://forum.thelia.net/" target="_blank">{intl l='Forum Thelia'}</a>
- <a href="http://contrib.thelia.net/" target="_blank">{intl l='Contributions Thelia'}</a>
<span class="pull-right">{intl l='interface par <a target="_blank" href="http://www.steaw-webdesign.com/">Steaw-Webdesign</a>'}</span>
</p>
{module_include location='in_footer'}
</div>
</footer>
{module_include location='after_footer'}
{* -- Javascript section ------------------------------------------------ *}
{block name="before-javascript-include"}{/block}
{javascripts file='assets/js/jquery.min.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='assets/bootstrap/js/bootstrap.min.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{block name="after-javascript-include"}{/block}
{block name="javascript-initialization"}{/block}
{* Modules scripts are included now *}
{module_include location='footer_js'}
</body>
</html>

View File

@@ -629,6 +629,10 @@ form .info .input-append .add-on {
.actions {
text-align: right;
}
.form {
margin-bottom: 0;
}
}
// Reduce bottom margin of admin tabs.

View File

@@ -1,11 +1,16 @@
{check_auth roles="ADMIN" permissions="admin.catalog.view" login_tpl="/admin/login"}
{extends file="admin-layout.tpl"}
{$page_title={intl l='Catalog'}}
{block name="page-title"}{intl l='Catalog'}{/block}
{$thelia_page_css_file = "assets/bootstrap-editable/css/bootstrap-editable.css"}
{block name="check-permissions"}admin.catalog.view{/block}
{include file='includes/header.inc.html'}
{block name="after-admin-css"}
{stylesheets file='assets/bootstrap-editable/css/bootstrap-editable.css' filters='cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{/block}
{block name="main-content"}
<div class="catalog">
<div id="wrapper" class="container">
@@ -256,13 +261,15 @@
{include file="includes/add-category-dialog.html"}
{include file="includes/delete-category-dialog.html"}
{/block}
{include file='includes/js.inc.html'}
{javascripts file='assets/bootstrap-editable/js/bootstrap-editable.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{block name="after-javascript-include"}
{javascripts file='assets/bootstrap-editable/js/bootstrap-editable.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{/block}
{block name="javascript-initialization"}
<script>
$(function() {
@@ -327,5 +334,4 @@ $(function() {
})
</script>
{include file='includes/footer.inc.html'}
{/block}

View File

@@ -1,9 +1,10 @@
{check_auth roles="ADMIN" permissions="admin.configuration.view" login_tpl="/admin/login"}
{extends file="admin-layout.tpl"}
{$page_title={intl l='Configuration'}}
{block name="page-title"}{intl l='Configuration'}{/block}
{include file='includes/header.inc.html'}
{block name="check-permissions"}admin.configuration.view{/block}
{block name="main-content"}
<div class="configuration">
<div id="wrapper" class="container">
@@ -168,7 +169,4 @@
</div>
</div>
</div>
{include file='includes/js.inc.html'}
{include file='includes/footer.inc.html'}
{/block}

View File

@@ -0,0 +1,41 @@
{extends file="admin-layout.tpl"}
{block name="check-permissions"}admin.coupon.create{/block}
{block name="page-title"}{intl l='Create coupon'}{/block}
{block name="main-content"}
<section id="wrapper" class="container">
<nav>
<ul class="breadcrumb">
{include file="includes/coupon_breadcrumb.html"}
</ul>
</nav>
<div class="page-header">
<h1>Coupons : <small>Add a coupon</small></h1>
</div>
{form name="thelia.admin.coupon.creation"}
{include file='coupon/form.html' formAction={url path={$formAction}}}
{/form}
</section> <!-- #wrapper -->
{/block}
{include file='includes/confirmation-modal.html'}
{block name="javascript-initialization"}
{javascripts file='assets/bootstrap-datepicker/js/bootstrap-datepicker.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='assets/js/main.js'}
<script src="{$asset_url}"></script>
{/javascripts}
<script>
$(function($){
miniBrowser(0, '/test_to_remove/datas_coupon_edit.json');
});
</script>
{/block}

View File

@@ -0,0 +1,41 @@
{extends file="admin-layout.tpl"}
{block name="check-permissions"}admin.coupon.edit{/block}
{block name="page-title"}{intl l='Edit coupon'}{/block}
{block name="main-content"}
<section id="wrapper" class="container">
<nav>
<ul class="breadcrumb">
{include file="includes/coupon_breadcrumb.html"}
</ul>
</nav>
<div class="page-header">
<h1>Coupons : <small>Add a coupon</small></h1>
</div>
{form name="thelia.admin.coupon.edit"}
{include file='coupon/form.html' formAction={url path={$formAction}} form=$form}
{/form}
</section> <!-- #wrapper -->
{/block}
{include file='includes/confirmation-modal.html'}
{block name="javascript-initialization"}
{javascripts file='assets/bootstrap-datepicker/js/bootstrap-datepicker.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='assets/js/main.js'}
<script src="{$asset_url}"></script>
{/javascripts}
<script>
$(function($){
miniBrowser(0, '/test_to_remove/datas_coupon_edit.json');
});
</script>
{/block}

View File

@@ -1,12 +1,8 @@
{check_auth context="admin" roles="ADMIN" permissions="admin.coupon.view" login_tpl="/admin/login"}
{$page_title={intl l='Coupon'}}
{$thelia_page_css_file = "assets/bootstrap-editable/css/bootstrap-editable.css"}
{include file='includes/header.inc.html'}
{extends file="admin-layout.tpl"}
{block name="check-permissions"}admin.coupon.view{/block}
{block name="page-title"}{intl l='Coupons'}{/block}
{block name="main-content"}
<section id="wrapper" class="container">
<nav>
@@ -142,64 +138,41 @@
</section>
</section> <!-- #wrapper -->
{/block}
<aside id="disable" class="modal hide fade" role="dialog">
<div class="modal-header">
<h3>Confirmation</h3>
</div>
<div class="modal-body">
<p>Do you really want to disable this element?</p>
</div>
<div class="modal-footer">
<button class="btn btn-inverse" data-dismiss="modal">Cancel</button>
<a href="#" class="btn btn-success" data-confirm="confirm">Confirm</a>
</div>
</aside> <!-- #disable / Disable confirmation -->
{include file='includes/confirmation-modal.html' id="disable" message="{intl l='Do you really want to disable this element ?'}"}
{include file='includes/confirmation-modal.html' id="enable" message="{intl l='Do you really want to enable this element ?'}"}
<aside id="enable" class="modal hide fade" role="dialog">
<div class="modal-header">
<h3>Confirmation</h3>
</div>
<div class="modal-body">
<p>Do you really want to enable this element?</p>
</div>
<div class="modal-footer">
<button class="btn btn-inverse" data-dismiss="modal">Cancel</button>
<a href="#" class="btn btn-success" data-confirm="confirm">Confirm</a>
</div>
</aside> <!-- #enable / Enable confirmation -->
{block name="javascript-initialization"}
{include file='includes/js.inc.html'}
{stylesheets file='../assets/css/jqueryui/custom-theme/*' filters='less,cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{include file='includes/js.inc.html'}
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>
{stylesheets file='../assets/css/jqueryui/custom-theme/*' filters='less,cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{javascripts file='../assets/bootstrap-editable/js/bootstrap-editable.js'}
<script src="{$asset_url}"></script>
{/javascripts}
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script>
{javascripts file='../assets/js/tablesorter/jquery.tablesorter.min.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/bootstrap-editable/js/bootstrap-editable.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/tablesorter/jquery.metadata.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/tablesorter/jquery.tablesorter.min.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/tablesorter/jquery.tablesorter.widgets.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/tablesorter/jquery.metadata.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/tablesorter/jquery.tablesorter.widgets-filter-formatter.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/tablesorter/jquery.tablesorter.widgets.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/tablesorter/jquery.tablesorter.widgets-filter-formatter.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/main.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{include file='includes/footer.inc.html'}
{javascripts file='../assets/js/main.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{/block}

View File

@@ -1,11 +1,8 @@
{check_auth context="admin" roles="ADMIN" permissions="admin.coupon.view" login_tpl="/admin/login"}
{$page_title={intl l='Coupon'}}
{$thelia_page_css_file = "assets/bootstrap-editable/css/bootstrap-editable.css"}
{include file='includes/header.inc.html'}
{extends file="admin-layout.tpl"}
{block name="check-permissions"}admin.coupon.view{/block}
{block name="page-title"}{intl l='Coupon'}{/block}
{block name="main-content"}
<section id="wrapper" class="container">
<nav>
@@ -113,31 +110,17 @@
{/loop}
</div>
</section>
</section> <!-- #wrapper -->
{/block}
<aside id="enable" class="modal hide fade" role="dialog">
<div class="modal-header">
<h3>Confirmation</h3>
</div>
<div class="modal-body">
<p>Do you really want to enable this element?</p>
</div>
<div class="modal-footer">
<button class="btn btn-inverse" data-dismiss="modal">Cancel</button>
<a href="#" class="btn btn-success" data-confirm="confirm">Confirm</a>
</div>
</aside> <!-- #enable / Enable confirmation -->
{include file='includes/confirmation-modal.html'}
{include file='includes/js.inc.html'}
{block name="javascript-initialization"}
{javascripts file='assets/js/main.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/bootstrap-editable/js/bootstrap-editable.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/js/main.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{include file='includes/footer.inc.html'}
{javascripts file='assets/bootstrap-editable/js/bootstrap-editable.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{/block}

View File

@@ -1,5 +0,0 @@
{check_auth context="admin" roles="ADMIN" permissions="admin.coupon.create" login_tpl="/admin/login"}
{$page_title={intl l='Coupon creation'}}
{include file='coupon/includes/edit.html'}

View File

@@ -0,0 +1,300 @@
{$thelia_page_css_file = "assets/bootstrap-editable/css/bootstrap-editable.css"}
{include file='includes/notifications.html' message=$general_error}
<form action="{$formAction}" {form_enctype form=$form} method="POST" >
<section class="row-fluid">
<div class="span12 general-block-decorator">
{form_hidden_fields form=$form}
<div class="span4">
<div class="control-group">
<label for="code">Code :</label>
{form_field form=$form field='code'}
<input id="code" type="text" name="{$name}" value="{$value}" placeholder="code">
{if $error}{$message}{/if}
{/form_field}
</div>
<div class="control-group">
<label for="title">Title :</label>
{form_field form=$form field='title'}
<input id="title" type="text" name="{$name}" value="{$value}" placeholder="title">
{if $error}{$message}{/if}
{/form_field}
</div>
<div class="control-group">
<label for="enabled" class="checkbox">
{form_field form=$form field='isEnabled'}
<input id="enabled" type="checkbox" name="{$name}" {if $value}checked{/if} >
{if $error}{$message}{/if}
value = {$value}
{/form_field}
Is enabled ?
</label>
</div>
<div class="control-group">
<label for="available-on-special-offers" class="checkbox">
{form_field form=$form field='isAvailableOnSpecialOffers'}
<input id="available-on-special-offers" type="checkbox" name="{$name}" {if $value}checked{/if} >
{if $error}{$message}{/if}
{/form_field}
Is available on special offers ?
</label>
</div>
<div class="control-group">
<label for="cumulative" class="checkbox">
{form_field form=$form field='isCumulative'}
<input id="cumulative" type="checkbox" name="{$name}" {if $value}checked{/if} >
{if $error}{$message}{/if}
{/form_field}
Is cumulative ?
</label>
</div>
<div class="control-group">
<label for="renoving-postage" class="checkbox">
{form_field form=$form field='isRemovingPostage'}
<input id="renoving-postage" type="checkbox" name="{$name}" {if $value}checked{/if} >
{if $error}{$message}{/if}
{/form_field}
Is removing postage ?
</label>
</div>
<div class="control-group">
<label for="expiration-date">Expiration date :</label>
<div class="input-append date" data-date="12/02/2012" data-date-format="dd/mm/yyyy">
{form_field form=$form field='expirationDate'}
<input type="text" id="expiration-date" name="{$name}" value="{$value}">
{if $error}{$message}{/if}
{/form_field}
<span class="add-on"><span class="icon-th"></span></span>
</div>
</div>
<div class="control-group">
<label for="max-usage">Max usage :</label>
<label for="is-unlimited" class="checkbox">
<input id="is-unlimited" type="checkbox" name="{$name}" {if $value}checked{/if} >
Is unlimited ?
</label>
{form_field form=$form field='maxUsage'}
<input id="max-usage" type="text" name="{$name}" value="{$value}" placeholder="max usage">
{if $error}{$message}{/if}
{/form_field}
</div>
</div>
<div class="span8">
<div class="well clearfix">
<div class="span6">
<div class="control-group">
<label for="effect">Effect :</label>
{form_field form=$form field='effect'}
<select name="{$name}" value="{$value}" id="effect" class="span12">
<option value="1" data-description="More description n°1 about item">Remove x percents for category Y</option>
<option value="2" data-description="More description n°2 about item">Remove x percents</option>
<option value="3" data-description="More description n°3 about item">Remove x amount</option>
</select>
{if $error}{$message}{/if}
{/form_field}
<span class="help-block">More description n°1 about item</span>
</div>
</div>
<div class="span6">
<div class="control-group">
<label for="amount">Amount :</label>
{form_field form=$form field='amount'}
<input id="amount" type="text" name="{$name}" value="{$value}" placeholder="amount">
{if $error}{$message}{/if}
{/form_field}
</div>
<div class="control-group">
<label for="category">Category :</label>
{*form_field form=$form field='category'*}
<select name="{$name}" value="{$value}" id="category">
<option value="1">Category 1</option>
<option value="1">Category 2</option>
<option value="1">Category 3</option>
</select>
{*if $error}{$message}{/if}*}
{*/form_field*}
</div>
</div>
</div>
<div class="control-group">
<label for="short-description">Short description :</label>
{form_field form=$form field='shortDescription'}
<textarea id="short-description" name="{$name}" value="{$value}" placeholder="short description" class="span12" rows="5"></textarea>
{if $error}{$message}{/if}
{/form_field}
</div>
</div>
<div class="clearfix"></div>
<div class="control-group">
<label for="description">Long description :</label>
{form_field form=$form field='description'}
<textarea id="description" name="{$name}" placeholder="long description" class="span12 wysiwyg" rows="10">{$value nofilter}</textarea>
{if $error}{$message}{/if}
{/form_field}
</div>
<button type="submit" class="btn btn-primary">Save</button>
</div>
</section>
<section class="row-fluid">
<div class="span12 general-block-decorator">
<table class="table table-striped">
<caption class="clearfix">
Rules
<a class="btn btn-primary pull-right" title="Add a new rule">
<span class="icon-plus-sign icon-white"></span>
</a>
</caption>
<thead>
<tr>
<th>Conditions</th>
<th>Operator</th>
<th>Value</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Total Amount</td>
<td><span class="label">is superior or equals to</span></td>
<td>300 &euro;</td>
<td>
<a href="#url" class="btn btn-primary btn-medium"><span class="icon-edit icon-white"></span> Edit</a>
<a href="#url" class="btn btn-danger btn-medium" data-toggle="confirm" data-target="#delete"><span class="icon-remove icon-white"></span> Delete</a>
</td>
</tr>
<tr>
<td><span class="label">AND</span> NbArticleFromCategory</td>
<td><span class="label">is equals to</span></td>
<td>12 - <a href="#" target="_blank">Chaussettes rouges</a></td>
<td>
<a href="#url" class="btn btn-primary btn-medium"><span class="icon-edit icon-white"></span> Edit</a>
<a href="#url" class="btn btn-danger btn-medium" data-toggle="confirm" data-target="#delete"><span class="icon-remove icon-white"></span> Delete</a>
</td>
</tr>
<tr>
<td><span class="label label-info">OR</span> Date</td>
<td><span class="label">is inferior or equals to</span></td>
<td>12/02/2014</td>
<td>
<a href="#url" class="btn btn-primary btn-medium"><span class="icon-edit icon-white"></span> Edit</a>
<a href="#url" class="btn btn-danger btn-medium" data-toggle="confirm" data-target="#delete"><span class="icon-remove icon-white"></span> Delete</a>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<section class="row-fluid">
<div class="span12 general-block-decorator">
<div class="control-group span2">
<label for="type">Condition type :</label>
<label class="radio">
<input type="radio" name="type" id="type" value="1" checked> And
</label>
<label class="radio">
<input type="radio" name="type" value="2"> Or
</label>
</div>
<div class="control-group span4">
<label for="category-rule">Rule's category :</label>
<select name="categoryRule" id="category-rule">
<option value="1" selected>Total amount</option>
<option value="2">Date</option>
<option value="3">NbArtFromCategory</option>
</select>
<label for="category-rule">Rule's category :</label>
<select name="categoryRule" id="category-rule">
<option value="1">Total amount</option>
<option value="2" selected>Date</option>
<option value="3">NbArtFromCategory</option>
</select>
<label for="category-rule">Rule's category :</label>
<select name="categoryRule" id="category-rule">
<option value="1">Total amount</option>
<option value="2">Date</option>
<option value="3" selected>NbArtFromCategory</option>
</select>
</div>
<div class="control-group span6">
<label for="operator">Operator :</label>
<div class="controls">
<select name="operator" id="operator">
<option value="1">is superior to</option>
<option value="2">equals to</option>
<option value="3">is inferior to</option>
<option value="4">is inferior or equals to</option>
<option value="5">is superior or equals to</option>
</select>
<div class="input-append input-prepend">
<span class="add-on">&euro;</span>
<input type="text" name="value" class="input-mini">
<button class="add-on btn btn-primary"><span class="icon-plus icon-white"></span></button>
</div>
</div>
<label for="operator">Operator :</label>
<div class="controls">
<select name="operator" id="operator">
<option value="1">is superior to</option>
<option value="2">equals to</option>
<option value="3">is inferior to</option>
<option value="4">is inferior or equals to</option>
<option value="5">is superior or equals to</option>
</select>
<div class="input-append input-prepend date" data-date="12/02/2012" data-date-format="dd/mm/yyyy">
<span class="add-on"><span class="icon-th"></span></span>
<input type="text" name="value" class="input-mini">
<button class="add-on btn btn-primary"><span class="icon-plus icon-white"></span></button>
</div>
</div>
<label for="operator">Operator :</label>
<div class="controls">
<select name="operator" id="operator">
<option value="1">is superior to</option>
<option value="2">equals to</option>
<option value="3">is inferior to</option>
<option value="4">is inferior or equals to</option>
<option value="5">is superior or equals to</option>
</select>
<input type="text" name="value" class="input-mini">
<table class="table table-bordered">
<tr>
<td id="minibrowser-breadcrumb"></td>
</tr>
<tr>
<th><span class="icon-th-list"></span> Categories list</th>
</tr>
<tr>
<td id="minibrowser-categories"></td>
</tr>
</table>
</div>
</div>
</div>
</section>
</form>

View File

@@ -1,311 +0,0 @@
{$thelia_page_css_file = "assets/bootstrap-editable/css/bootstrap-editable.css"}
{include file='includes/header.inc.html'}
<section id="wrapper" class="container">
<nav>
<ul class="breadcrumb">
{include file="includes/coupon_breadcrumb.html"}
</ul>
</nav>
<div class="page-header">
<h1>Coupons : <small>Add a coupon</small></h1>
</div>
<form action="#" method="post">
<section class="row-fluid">
<div class="span12 general-block-decorator">
<div class="span4">
<div class="control-group">
<label for="code">Code :</label>
<input id="code" type="text" name="code" placeholder="code">
</div>
<div class="control-group">
<label for="title">Title :</label>
<input id="title" type="text" name="title" placeholder="title">
</div>
<div class="control-group">
<label for="enabled" class="checkbox">
<input id="enabled" type="checkbox" name="isEnabled" value="1" checked>
Is enabled ?
</label>
</div>
<div class="control-group">
<label for="available-on-special-offers" class="checkbox">
<input id="available-on-special-offers" type="checkbox" name="isAvailableOnSpecialOffers" value="1">
Is available on special offers ?
</label>
</div>
<div class="control-group">
<label for="cumulative" class="checkbox">
<input id="cumulative" type="checkbox" name="isCumulative" value="1">
Is cumulative ?
</label>
</div>
<div class="control-group">
<label for="renoving-postage" class="checkbox">
<input id="renoving-postage" type="checkbox" name="isRemovingPostage" value="1">
Is renoving postage ?
</label>
</div>
<div class="control-group">
<label for="expiration-date">Expiration date :</label>
<div class="input-append date" data-date="12/02/2012" data-date-format="dd/mm/yyyy">
<input type="text" id="expiration-date" name="expirationDate" value="12/02/2012">
<span class="add-on"><span class="icon-th"></span></span>
</div>
</div>
<div class="control-group">
<label for="max-usage">Max usage :</label>
<label for="is-unlimited" class="checkbox">
<input id="is-unlimited" type="checkbox" name="isUnlimited" value="1" checked>
Is unlimited ?
</label>
<input id="max-usage" type="text" name="maxUsage" placeholder="max usage">
</div>
</div>
<div class="span8">
<div class="well clearfix">
<div class="span6">
<div class="control-group">
<label for="effect">Effect :</label>
<select name="effect" id="effect" class="span12">
<option value="1" data-description="More description n°1 about item">Remove x percents for category Y</option>
<option value="2" data-description="More description n°2 about item">Remove x percents</option>
<option value="3" data-description="More description n°3 about item">Remove x amount</option>
</select>
<span class="help-block">More description n°1 about item</span>
</div>
</div>
<div class="span6">
<div class="control-group">
<label for="amount">Amount :</label>
<input id="amount" type="text" name="amount" placeholder="amount">
</div>
<div class="control-group">
<label for="category">Category :</label>
<select name="category" id="category">
<option value="1">Category 1</option>
<option value="1">Category 2</option>
<option value="1">Category 3</option>
</select>
</div>
</div>
</div>
<div class="control-group">
<label for="short-description">Short description :</label>
<textarea id="short-description" name="shortDescription" placeholder="short description" class="span12" rows="5"></textarea>
</div>
</div>
<div class="clearfix"></div>
<div class="control-group">
<label for="long-description">Long description :</label>
<textarea id="long-description" name="longDescription" placeholder="long description" class="span12 wysiwyg" rows="10"></textarea>
</div>
<button type="submit" class="btn btn-primary">Save</button>
</div>
</section>
<section class="row-fluid">
<div class="span12 general-block-decorator">
<table class="table table-striped">
<caption class="clearfix">
Rules
<a class="btn btn-primary pull-right" title="Add a new rule">
<span class="icon-plus-sign icon-white"></span>
</a>
</caption>
<thead>
<tr>
<th>Conditions</th>
<th>Operator</th>
<th>Value</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Total Amount</td>
<td><span class="label">is superior or equals to</span></td>
<td>300 &euro;</td>
<td>
<a href="#url" class="btn btn-primary btn-medium"><span class="icon-edit icon-white"></span> Edit</a>
<a href="#url" class="btn btn-danger btn-medium" data-toggle="confirm" data-target="#delete"><span class="icon-remove icon-white"></span> Delete</a>
</td>
</tr>
<tr>
<td><span class="label">AND</span> NbArticleFromCategory</td>
<td><span class="label">is equals to</span></td>
<td>12 - <a href="#" target="_blank">Chaussettes rouges</a></td>
<td>
<a href="#url" class="btn btn-primary btn-medium"><span class="icon-edit icon-white"></span> Edit</a>
<a href="#url" class="btn btn-danger btn-medium" data-toggle="confirm" data-target="#delete"><span class="icon-remove icon-white"></span> Delete</a>
</td>
</tr>
<tr>
<td><span class="label label-info">OR</span> Date</td>
<td><span class="label">is inferior or equals to</span></td>
<td>12/02/2014</td>
<td>
<a href="#url" class="btn btn-primary btn-medium"><span class="icon-edit icon-white"></span> Edit</a>
<a href="#url" class="btn btn-danger btn-medium" data-toggle="confirm" data-target="#delete"><span class="icon-remove icon-white"></span> Delete</a>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<section class="row-fluid">
<div class="span12 general-block-decorator">
<div class="control-group span2">
<label for="type">Condition type :</label>
<label class="radio">
<input type="radio" name="type" id="type" value="1" checked> And
</label>
<label class="radio">
<input type="radio" name="type" value="2"> Or
</label>
</div>
<div class="control-group span4">
<label for="category-rule">Rule's category :</label>
<select name="categoryRule" id="category-rule">
<option value="1" selected>Total amount</option>
<option value="2">Date</option>
<option value="3">NbArtFromCategory</option>
</select>
<label for="category-rule">Rule's category :</label>
<select name="categoryRule" id="category-rule">
<option value="1">Total amount</option>
<option value="2" selected>Date</option>
<option value="3">NbArtFromCategory</option>
</select>
<label for="category-rule">Rule's category :</label>
<select name="categoryRule" id="category-rule">
<option value="1">Total amount</option>
<option value="2">Date</option>
<option value="3" selected>NbArtFromCategory</option>
</select>
</div>
<div class="control-group span6">
<label for="operator">Operator :</label>
<div class="controls">
<select name="operator" id="operator">
<option value="1">is superior to</option>
<option value="2">equals to</option>
<option value="3">is inferior to</option>
<option value="4">is inferior or equals to</option>
<option value="5">is superior or equals to</option>
</select>
<div class="input-append input-prepend">
<span class="add-on">&euro;</span>
<input type="text" name="value" class="input-mini">
<button class="add-on btn btn-primary"><span class="icon-plus icon-white"></span></button>
</div>
</div>
<label for="operator">Operator :</label>
<div class="controls">
<select name="operator" id="operator">
<option value="1">is superior to</option>
<option value="2">equals to</option>
<option value="3">is inferior to</option>
<option value="4">is inferior or equals to</option>
<option value="5">is superior or equals to</option>
</select>
<div class="input-append input-prepend date" data-date="12/02/2012" data-date-format="dd/mm/yyyy">
<span class="add-on"><span class="icon-th"></span></span>
<input type="text" name="value" class="input-mini">
<button class="add-on btn btn-primary"><span class="icon-plus icon-white"></span></button>
</div>
</div>
<label for="operator">Operator :</label>
<div class="controls">
<select name="operator" id="operator">
<option value="1">is superior to</option>
<option value="2">equals to</option>
<option value="3">is inferior to</option>
<option value="4">is inferior or equals to</option>
<option value="5">is superior or equals to</option>
</select>
<input type="text" name="value" class="input-mini">
<table class="table table-bordered">
<tr>
<td id="minibrowser-breadcrumb"></td>
</tr>
<tr>
<th><span class="icon-th-list"></span> Categories list</th>
</tr>
<tr>
<td id="minibrowser-categories"></td>
</tr>
</table>
</div>
</div>
</div>
</section>
</form>
</section> <!-- #wrapper -->
<aside id="delete" class="modal hide fade" role="dialog">
<div class="modal-header">
<h3>Confirmation</h3>
</div>
<div class="modal-body">
<p>Do you really want to delete this element?</p>
</div>
<div class="modal-footer">
<button class="btn btn-inverse" data-dismiss="modal">Cancel</button>
<a href="#" class="btn btn-success" data-confirm="confirm">Confirm</a>
</div>
</aside> <!-- #delete / Delete confirmation -->
{include file='includes/js.inc.html'}
{javascripts file='../../assets/bootstrap-datepicker/js/bootstrap-datepicker.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../../assets/js/main.js'}
<script src="{$asset_url}"></script>
{/javascripts}
<script>
$(function($){
miniBrowser(0, '/test_to_remove/datas_coupon_edit.json');
});
</script>
{include file='includes/footer.inc.html'}

View File

@@ -1,5 +0,0 @@
{check_auth context="admin" roles="ADMIN" permissions="admin.coupon.edit" login_tpl="/admin/login"}
{$page_title={intl l='Coupon edition'}}
{include file='coupon/includes/edit.html'}

View File

@@ -0,0 +1,401 @@
{extends file="admin-layout.tpl"}
{block name="page-title"}{intl l='Currencies'}{/block}
{block name="check-permissions"}admin.configuration.currencies.view{/block}
{block name="after-admin-css"}
{stylesheets file='assets/bootstrap-editable/css/bootstrap-editable.css' filters='cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{/block}
{block name="main-content"}
<div class="currencies">
<div id="wrapper" class="container">
<ul class="breadcrumb">
<li><a href="{url path='/admin/home'}">{intl l="Home"}</a> <span class="divider">/</span></li>
<li><a href="{url path='/admin/configuration'}">{intl l="Configuration"}</a> <span class="divider">/</span></li>
<li><a href="{url path='/admin/configuration/currencies'}">{intl l="Currencies"}</a></li>
</ul>
{module_include location='currencies_top'}
<div class="row-fluid">
<div class="span12">
<form action="{url path='/admin/configuration/currencies/change-values'}" method="post">
<div class="general-block-decorator">
<table class="table table-striped table-condensed table-left-aligned">
<caption>
{intl l='Currencies'}
{loop type="auth" name="can_create" roles="ADMIN" permissions="admin.configuration.currencies.create"}
<a class="btn btn-primary action-btn" title="{intl l='Add a new currency'}" href="#add_currency_dialog" data-toggle="modal">
<i class="icon-plus-sign icon-white"></i>
</a>
{/loop}
</caption>
<tr>
<th>
{if $order == 'id'}
<i class="icon icon-chevron-up"></i>
{$order_change = 'id_reverse'}
{elseif $order == 'id_reverse'}
<i class="icon icon-chevron-down"></i>
{$order_change = 'id'}
{else}
{$order_change = 'id'}
{/if}
<a href="{url path='/admin/configuration/currencies' order=$order_change}">
{intl l="ID"}
</a>
</th>
<th>
{if $order == 'alpha'}
<i class="icon icon-chevron-up"></i>
{$order_change = 'alpha_reverse'}
{elseif $order == 'alpha_reverse'}
<i class="icon icon-chevron-down"></i>
{$order_change = 'alpha'}
{else}
{$order_change = 'alpha'}
{/if}
<a href="{url path='/admin/configuration/currencies' order=$order_change}">
{intl l="Name"}
</a>
</th>
<th>
{if $order == 'code'}
<i class="icon icon-chevron-up"></i>
{$order_change = 'code_reverse'}
{elseif $order == 'code_reverse'}
<i class="icon icon-chevron-down"></i>
{$order_change = 'code'}
{else}
{$order_change = 'code'}
{/if}
<a href="{url path='/admin/configuration/currencies' order=$order_change}">{intl l="ISO 4217 Code"}</a>
<a title="{intl l='More information about ISO 4217'}" href="http://fr.wikipedia.org/wiki/ISO_4217" target="_blank"><i class="icon icon-question-sign"></i></a>
</th>
<th>
{if $order == 'symbol'}
<i class="icon icon-chevron-up"></i>
{$order_change = 'symbol_reverse'}
{elseif $order == 'symbol_reverse'}
<i class="icon icon-chevron-down"></i>
{$order_change = 'symbol'}
{else}
{$order_change = 'symbol'}
{/if}
<a href="{url path='/admin/configuration/currencies' order=$order_change}">
{intl l="Symbol"}
</a>
</th>
<th>
{if $order == 'rate'}
<i class="icon icon-chevron-up"></i>
{$order_change = 'rate_reverse'}
{elseif $order == 'rate_reverse'}
<i class="icon icon-chevron-down"></i>
{$order_change = 'rate'}
{else}
{$order_change = 'rate'}
{/if}
<a href="{url path='/admin/configuration/currencies' order=$order_change}">
{intl l="Rate in &euro;"}
</a>
</th>
<th>
{if $order == 'manual'}
<i class="icon icon-chevron-up"></i>
{$order_change = 'manual_reverse'}
{elseif $order == 'manual_reverse'}
<i class="icon icon-chevron-down"></i>
{$order_change = 'manual'}
{else}
{$order_change = 'manual'}
{/if}
<a href="{url path='/admin/configuration/currencies' order="$order_change"}">{intl l="Position"}</a>
</th>
<th>{intl l="Default"}</th>
{module_include location='currencies_table_header'}
<th>&nbsp;</th>
</tr>
{loop name="currencies" type="currency" backend_context="1" lang=$lang_id order=$order}
<tr>
<td>{$ID}</td>
<td>
{loop type="auth" name="can_change" roles="ADMIN" permissions="admin.configuration.currencies.change"}
<a title="{intl l='Change this currency'}" href="{url path='/admin/configuration/currencies/change' currency_id="$ID"}">{$NAME}</a>
{/loop}
{elseloop rel="can_change"}
{$NAME}
{/elseloop}
</td>
<td>{$ISOCODE}</td>
<td>{$SYMBOL}</td>
<td>{$RATE|string_format:"%.4f"}</td>
<td>
{loop type="auth" name="can_change" roles="ADMIN" permissions="admin.category.edit"}
<a href="{url path='/admin/configuration/currencies/positionUp' currency_id=$ID}"><i class="icon-arrow-up"></i></a>
<span class="currencyPositionChange" data-id="{$ID}">{$POSITION}</span>
<a href="{url path='/admin/configuration/currencies/positionDown' currency_id=$ID}"><i class="icon-arrow-down"></i></a>
{/loop}
{elseloop rel="can_change"}
{$POSITION}
{/elseloop}
</td>
<td><input type="radio" name="default[{$ID}]" value="1" {if $IS_DEFAULT}checked="checked"{/if}/></td>
{module_include location='currencies_table_row'}
<td class="actions">
<div class="btn-group">
{loop type="auth" name="can_change" roles="ADMIN" permissions="admin.configuration.currencies.change"}
<a class="btn btn-mini currency-change" title="{intl l='Change this currency'}" href="{url path='/admin/configuration/currencies/change' currency_id="$ID"}"><i class="icon-edit"></i></a>
{/loop}
{loop type="auth" name="can_delete" roles="ADMIN" permissions="admin.configuration.currencies.delete"}
<a class="btn btn-mini currency-delete" title="{intl l='Delete this currency'}" href="#delete_currency_dialog" data-id="{$ID}" data-toggle="modal"><i class="icon-trash"></i></a>
{/loop}
</div>
</td>
</tr>
{/loop}
{elseloop rel="currencies"}
<tr>
<td colspan="8">
<div class="alert alert-info">
{intl l="No currency has been created yet. Click the + button to create one."}
</div>
</td>
</tr>
{/elseloop}
</table>
</div>
</form>
</div>
</div>
{module_include location='currencies_bottom'}
</div>
</div>
{* Adding a new currency *}
<div class="modal hide fade" id="add_currency_dialog" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>{intl l="Create a new currency"}</h3>
</div>
{form name="thelia.admin.currency.creation"}
<form method="POST" action="{url path='/admin/configuration/currencies/create'}" {form_enctype form=$form}>
{form_hidden_fields form=$form}
{form_field form=$form field='success_url'}
{* on success, redirect to the edition page, _ID_ is replaced with the created currency ID, see controller *}
<input type="hidden" name="{$name}" value="{url path='/admin/configuration/currencies/change' currency_id='_ID_'}" />
{/form_field}
{* We do not allow users to create secured currencies from here *}
<div class="modal-body">
{if #form_error}<div class="alert alert-block alert-error" id="add_currency_dialog_error">#form_error_currency</div>{/if}
<div class="control-group">
<label class="control-label">
{intl l='Name *'}
</label>
<div class="controls">
{loop type="lang" name="default-lang" default_only="1"}
{form_field form=$form field='locale'}
<input type="hidden" name="{$name}" value="{$LOCALE}" />
{/form_field}
<div class="input-append">
{form_field form=$form field='name'}
<span {if $error}class="error"{/if}>
<input type="text" required="required" name="{$name}" value="{$value}" title="{intl l='Currency name'}" placeholder="{intl l='Name'}">
</span>
{/form_field}
<span class="add-on"><img src="{image file="assets/img/flags/{$CODE}.gif"}" alt="{intl l=$TITLE}" /></span>
</div>
<div class="help-block">{intl l="Enter here the currency name in the default language ($TITLE)"}</div>
{/loop}
</div>
</div>
<div class="control-group">
<label class="control-label">
{intl l='ISO 4217 code *'}
</label>
<div class="controls">
{form_field form=$form field='symbol'}
<span {if $error}class="error"{/if}>
<input type="text" required="required" name="{$name}" value="{$value}" title="{intl l='ISO 4217 code'}" placeholder="{intl l='Code'}">
</span>
<div class="help-block">
<a href="http://fr.wikipedia.org/wiki/ISO_4217" target="_blank">{intl l='More information about ISO 4217'}</a>
</div>
{/form_field}
</div>
</div>
<div class="control-group">
<label class="control-label">
{intl l='Symbol *'}
</label>
<div class="controls">
{form_field form=$form field='symbol'}
<span {if $error}class="error"{/if}>
<input type="text" required="required" name="{$name}" value="{$value}" title="{intl l='Currency symbol'}" placeholder="{intl l='Symbol'}">
</span>
{/form_field}
</div>
</div>
<div class="control-group">
<label class="control-label">
{intl l='Rate *'}
</label>
<div class="controls">
{form_field form=$form field='symbol'}
<span {if $error}class="error"{/if}>
<input type="text" required="required" name="{$name}" value="{$value}" title="{intl l='Currency rate'}" placeholder="{intl l='Rate'}">
</span>
<div class="help-block">{intl l="Currency rate, in Euro"}</div>
{/form_field}
</div>
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-primary">{intl l="Create this currency"}</button>
<button type="button" class="btn" data-dismiss="modal" aria-hidden="true">{intl l="Cancel"}</button>
</div>
</form>
{/form}
</div>
{* Delete confirmation dialog *}
<div class="modal hide fade" id="delete_currency_dialog" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h3>{intl l="Delete a currency"}</h3>
</div>
<div class="modal-body">
<p>{intl l="Do you really want to delete this currency ?"}</p>
</div>
<form method="post" action="{url path='/admin/configuration/currencies/delete'}">
<input type="hidden" name="currency_id" id="currency_delete_id" value="" />
<div class="modal-footer">
<button type="submit" class="btn btn-primary">{intl l="Yes"}</button>
<button type="button" class="btn" data-dismiss="modal" aria-hidden="true">{intl l="No"}</button>
</div>
</form>
</div>
{/block}
{block name="after-javascript-include"}
{javascripts file='assets/bootstrap-editable/js/bootstrap-editable.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{/block}
{block name="javascript-initialization"}
<script>
$(function() {
// Set proper currency ID in delete from
$('a.currency-delete').click(function(ev) {
$('#currency_delete_id').val($(this).data('id'));
});
{* display the form creation dialog if it contains errors *}
{form name="thelia.admin.currency.creation"}
{if #form_error}
$('#add_currency_dialog').modal();
{/if}
{/form}
{* Always reset create dialog on close *}
$('#add_currency_dialog').on('hidden',function() {
// Hide error currency
$('#add_currency_dialog_error').remove();
// Clear error status
$("#add_currency_dialog .error").removeClass('error');
// Empty field values
$("#add_currency_dialog input[type=text]").val('');
});
{* Inline editing of object position using bootstrap-editable *}
$('.currencyPositionChange').editable({
type : 'text',
title : '{intl l="Enter new currency position"}',
mode : 'popup',
inputclass : 'input-mini',
placement : 'left',
success : function(response, newValue) {
// The URL template
var url = "{url path='/admin/configuration/currencies/changePosition' currency_id='__ID__' position='__POS__'}";
// Perform subtitutions
url = url.replace('__ID__', $(this).data('id'))
.replace('__POS__', newValue);
// Reload the page
location.href = url;
}
});
});
</script>
{/block}

View File

@@ -1,9 +1,10 @@
{check_auth roles="ADMIN" permissions="admin.catalog.view" login_tpl="/admin/login"}
{extends file="admin-layout.tpl"}
{$page_title={intl l='Edit category'}}
{block name="check-permissions"}admin.catalog.view{/block}
{include file='includes/header.inc.html'}
{block name="page-title"}{intl l='Edit category'}{/block}
{block name="main-content"}
<div class="catalog edit-category">
<div id="wrapper" class="container">
<ul class="breadcrumb">
@@ -210,9 +211,9 @@
</div>
</div>
</div>
{/block}
{include file='includes/js.inc.html'}
{block name="javascript-initialization"}
<script>
$(function() {
@@ -229,5 +230,4 @@ $(function() {
})
</script>
{include file='includes/footer.inc.html'}
{/block}

View File

@@ -1,10 +1,22 @@
{$page_title={intl l='An error occured'}}
{extends file="admin-layout.tpl"}
{include file='includes/header.inc.html'}
{* -- We do not check admin login on this page *}
{block name="check-auth"}{/block}
{block name="page-title"}{intl l='An error occured'}{/block}
{block name="main-content"}
<div id="wrapper" class="container">
<h1>{intl l="Oops! An Error Occurred"}</h1>
<p>{$error_message}</p>
</div>
{include file='includes/footer.inc.html'}
<div class="row">
<div class="span12">
<h1>{intl l="Oops! An Error Occurred"}</h1>
{block name="error-message"}<div class="alert alert-error">{$error_message}</div>{/block}
<p><i class="icon icon-backward"></i> <a href="{url path='/admin/home'}">{intl l="Go to administration home"}</a></p>
</div>
</div>
</div>
{/block}

View File

@@ -1,18 +1,18 @@
{check_auth roles="ADMIN" login_tpl="/admin/login"}
{$page_title={intl l='Home'}}
{include file='includes/header.inc.html'}
{extends file="admin-layout.tpl"}
<div class="homepage">
<div id="wrapper" class="container">
{block name="page-title"}{intl l='Back-office home'}{/block}
{module_include location='home_top'}
{block name="main-content"}
<div class="homepage">
<div id="wrapper" class="container">
<div class="span12">
This is the administration home page. Put some interesting statistics here, and display useful information :)
{module_include location='home_top'}
<div class="span12">
This is the administration home page. Put some interesting statistics here, and display useful information :)
</div>
{module_include location='home_bottom'}
</div>
{module_include location='home_bottom'}
</div>
</div>
{include file='includes/footer.inc.html'}
{/block}

View File

@@ -0,0 +1,32 @@
{*
Params
- id : aside element id (default delete)
- title : modal title (default Confirmation)
- message : modal message (default Do you really want to delete this element ?)
*}
{block name="confirmation-modal"}
<aside id="{if $id}$id{else}delete{/if}" class="modal hide fade" role="dialog">
<div class="modal-header">
<h3>
{if $title}
$title
{else}
{intl l='Confirmation'}
{/if}
</h3>
</div>
<div class="modal-body">
<p>
{if $message}
$message
{else}
{intl l='Do you really want to delete this element ?'}
{/if}
</p>
</div>
<div class="modal-footer">
<button class="btn btn-inverse" data-dismiss="modal">{intl l='Cancel'}</button>
<a href="#" class="btn btn-success" data-confirm="confirm">{intl l='Confirm'}</a>
</div>
</aside> <!-- #delete / Delete confirmation -->
{/block}

View File

@@ -1,20 +0,0 @@
{module_include location='before_footer'}
<hr />
<footer class="footer">
<div class="container">
<p>{intl l='&copy; Thelia 2013'}
- <a href="http://www.openstudio.fr/" target="_blank">{intl l='Édité par OpenStudio'}</a>
- <a href="http://forum.thelia.net/" target="_blank">{intl l='Forum Thelia'}</a>
- <a href="http://contrib.thelia.net/" target="_blank">{intl l='Contributions Thelia'}</a>
<span class="pull-right">{intl l='interface par <a target="_blank" href="http://www.steaw-webdesign.com/">Steaw-Webdesign</a>'}</span>
</p>
{module_include location='in_footer'}
</div>
</footer>
{module_include location='after_footer'}
</body>
</html>

View File

@@ -1,167 +0,0 @@
<!DOCTYPE html>
<html lang="{$lang_code}">
<head>
<title>{intl l='Thelia Back Office'}{if ! empty($page_title)} - {$page_title}{/if}</title>
{images file='../assets/img/favicon.ico'}<link rel="shortcut icon" href="{$asset_url}" />{/images}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{stylesheets file='../assets/bootstrap/css/bootstrap.css' filters='cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{stylesheets file='../assets/bootstrap/css/bootstrap-responsive.css' filters='cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{* Include here page specifc CSS file, if any *}
{if ! empty($thelia_page_css_file)}
{stylesheets file="../$thelia_page_css_file" filters='less,cssembed'}
<link rel="stylesheet" href="{$asset_url}" target="screen">
{/stylesheets}
{/if}
{stylesheets file='../assets/css/*' filters='less,cssembed'}
<link rel="stylesheet" href="{$asset_url}">
{/stylesheets}
{* Include here page specifc CSS file, if any *}
{if ! empty($thelia_page_css_file)}
{stylesheets file="../$thelia_page_css_file" filters='less,cssembed'}
<link rel="stylesheet" href="{$asset_url}" target="screen">
{/stylesheets}
{/if}
{* Modules css are included here *}
{module_include location='head_css'}
</head>
<body>
{* display top bar once admin is connected *}
{loop name="top-bar-auth" type="auth" roles="ADMIN"}
{module_include location='before_topbar'}
<div class="topbar">
<div class="container">
<div class="version-info">{intl l='Version %ver' ver="{$THELIA_VERSION}"}</div>
{module_include location='inside_topbar'}
<div class="user-info">
<a class="profile" href="{url path='admin/edit_profile'}">{admin attr="firstname"} {admin attr="lastname"}</a>
<a class="logout" href="{url path='admin/logout'}" title="{intl l='Close administation session'}">{intl l="Logout"}</a></div>
{loop name="top-bar-search" type="auth" roles="ADMIN" permissions="admin.search"}
<form class="form-search pull-right" action="{url path='/admin/search'}">
<div class="control-group">
<div class="input-append">
<input type="text" class="input-medium search-query" id="search_term" name="search_term" placeholder="{intl l='Search'}" />
<button class="btn"><i class="icon-search"></i></button>
</div>
</div>
</form>
{/loop}
<div class="view-shop"><a href="{navigate to="index"}" title="{intl l='View site'}" target="_blank"><i class="icon-white icon-eye-open"></i> {intl l="View shop"}</a></div>
</div>
</div>
{module_include location='after_topbar'}
{module_include location='before_top_menu'}
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<div class="nav-collapse">
<ul class="nav">
<li class="{if $admin_current_location == 'home'}active{/if}" id="home_menu">
<a href="{url path='/admin/home'}">{intl l="Home"}</a>
</li>
{loop name="menu-auth-customer" type="auth" roles="ADMIN" permissions="admin.customers.view"}
<li class="{if $admin_current_location == 'customer'}active{/if}" id="customers_menu">
<a href="{url path='/admin/customers'}">{intl l="Customers"}</a>
</li>
{/loop}
{loop name="menu-auth-order" type="auth" roles="ADMIN" permissions="admin.orders.view"}
<li class="dropdown {if $admin_current_location == 'customer'}active{/if}" id="orders_menu" data-toggle="dropdown">
<a href="#">{intl l="Orders"} <span class="caret"></span></a>
<ul class="dropdown-menu config_menu" role="menu">
<li role="menuitem"><a data-target="{url path='admin/orders'}" href="{url path='admin/orders'}">
{intl l="All orders"}
<span class="badge badge-important">{count type="order"}</span></a>
</li>
{loop name="order-status-list" type="order-status"}
<li role="menuitem">
<a data-target="{url path='admin/orders/$LABEL'}" href="{url path='admin/orders/$LABEL'}">
{$LABEL} <span class="badge badge-important">{count type="order" status="{$ID}"}</span>
</a>
</li>
{/loop}
</ul>
</li>
{/loop}
{loop name="menu-auth-catalog" type="auth" roles="ADMIN" permissions="admin.catalog.view"}
<li class="{if $admin_current_location == 'catalog'}active{/if}" id="catalog_menu">
<a href="{url path='/admin/catalog'}">{intl l="Catalog"}</a>
</li>
{/loop}
{loop name="menu-auth-content" type="auth" roles="ADMIN" permissions="admin.content.view"}
<li class="{if $admin_current_location == 'content'}active{/if}" id="content_menu">
<a href="{url path='/admin/content'}">{intl l="Content"}</a>
</li>
{/loop}
{loop name="menu-auth-discount" type="auth" roles="ADMIN" permissions="admin.discount.view"}
<li class="{if $admin_current_location == 'discount'}active{/if}" id="discount_menu">
<a href="{url path='/admin/discount'}">{intl l="Discount"}</a>
</li>
{/loop}
{loop name="menu-auth-config" type="auth" roles="ADMIN" permissions="admin.config.view"}
<li class="{if $admin_current_location == 'configuration'}active{/if}" id="config_menu">
<a href="{url path='/admin/configuration'}">{intl l="Configuration"}</a>
</li>
{/loop}
{loop name="menu-auth-modules" type="auth" roles="ADMIN" permissions="admin.modules.view"}
<li class="{if $admin_current_location == 'modules'}active{/if}" id="modules_menu">
<a href="{url path='/admin/modules'}">{intl l="Modules"}</a>
</li>
{module_include location='in_top_menu_items'}
{/loop}
</ul>
</div>
</div>
</div>
</div>
{module_include location='after_top_menu'}
{/loop}
{elseloop rel="top-bar-auth"}
<div class="brandbar brandbar-wide container">
<a class="brand" href="{url path='/admin'}">{images file='../assets/img/logo-thelia-34px.png'}<img src="{$asset_url}" alt="{intl l='Thelia, solution e-commerce libre'}" />{/images}</a>
</div>
{/elseloop}

View File

@@ -1,13 +0,0 @@
{* Include required JS files *}
{javascripts file='../assets/js/jquery.min.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{javascripts file='../assets/bootstrap/js/bootstrap.min.js'}
<script src="{$asset_url}"></script>
{/javascripts}
{* Modules scripts are included now *}
{module_include location='footer_js'}

View File

@@ -0,0 +1,11 @@
{*
Params
- type : notification type (default alert)
- message : modal message
*}
{if $message}
<div class="{if $type}$type{else}alert alert-info{/if}">
<span class="icon-question-sign"></span>
{$message}
</div>
{/if}

View File

@@ -1,66 +1,70 @@
{$page_title={intl l='Welcome'}}
{include file='includes/header.inc.html'}
{extends file="admin-layout.tpl"}
<div class="loginpage">
{* -- We do not check admin login on this page *}
{block name="check-auth"}{/block}
<div id="wrapper" class="container">
{block name="page-title"}{intl l='Welcome'}{/block}
{module_include location='index_top'}
{block name="main-content"}
<div class="loginpage">
<div class="hero-unit">
<h1>{intl l='Thelia Back Office'}</h1>
<div id="wrapper" class="container">
{form name="thelia.admin.login"}
<form action="{url path='/admin/checklogin'}" method="post" class="well form-inline" {form_enctype form=$form}>
{module_include location='index_top'}
{if #form_error}<div class="alert alert-error">#form_error_message</div>{/if}
<div class="hero-unit">
<h1>{intl l='Thelia Back Office'}</h1>
{form_hidden_fields form=$form}
{form name="thelia.admin.login"}
<form action="{url path='/admin/checklogin'}" method="post" class="well form-inline" {form_enctype form=$form}>
{form_field form=$form field='success_url'}
<input type="hidden" name="{$name}" value="{url path='/admin'}" /> {* on success, redirect to /admin *}
{/form_field}
{if #form_error}<div class="alert alert-error">#form_error_message</div>{/if}
{form_field form=$form field='username'}
<span {if $error}class="error"{/if}>
<input type="text" class="input" placeholder="{intl l='User name'}" name="{$name}" value="{$value}" {$attr} />
</span>
{/form_field}
{form_hidden_fields form=$form}
{form_field form=$form field='password'}
<span {if $error}class="error"{/if}>
<input type="password" class="input" placeholder="{intl l='Password'}" name="{$name}" {$attr} />
</span>
{/form_field}
{form_field form=$form field='success_url'}
<input type="hidden" name="{$name}" value="{url path='/admin'}" /> {* on success, redirect to /admin *}
{/form_field}
{form_field form=$form field='remember_me'}
<label class="checkbox"> <input type="checkbox" name="{$name}" value="{$value}" {$attr} {if $options.checked}checked="checked"{/if}/> {intl l='Remember me'}</label>
{/form_field}
{form_field form=$form field='username'}
<span {if $error}class="error"{/if}>
<input type="text" class="input" placeholder="{intl l='User name'}" name="{$name}" value="{$value}" {$attr} />
</span>
{/form_field}
<span class="pull-right"><button type="submit" class="btn btn-primary">{intl l='Login'} <i class="icon-play icon-white"></i></button></span>
</form>
{/form}
</div>
{form_field form=$form field='password'}
<span {if $error}class="error"{/if}>
<input type="password" class="input" placeholder="{intl l='Password'}" name="{$name}" {$attr} />
</span>
{/form_field}
{module_include location='index_middle'}
{form_field form=$form field='remember_me'}
<label class="checkbox"> <input type="checkbox" name="{$name}" value="{$value}" {$attr} {if $options.checked}checked="checked"{/if}/> {intl l='Remember me'}</label>
{/form_field}
<div class="row-fluid feed-list">
<div class="span4 offset4">
<div class="well">{intl l="Loading Thelia lastest news..."}</div>
<span class="pull-right"><button type="submit" class="btn btn-primary">{intl l='Login'} <i class="icon-play icon-white"></i></button></span>
</form>
{/form}
</div>
{module_include location='index_middle'}
<div class="row-fluid feed-list">
<div class="span6 offset3">
<div class="alert alert-info">{intl l="Loading Thelia lastest news..."}</div>
</div>
</div>
</div>
{module_include location='index_bottom'}
</div>
{/block}
{module_include location='index_bottom'}
</div>
{include file='includes/js.inc.html'}
<script>
$(function () {
$(".feed-list").load("{admin_viewurl view='includes/thelia_news_feed'}");
})
</script>
{include file='includes/footer.inc.html'}
{block name="javascript-initialization"}
<script>
$(function () {
$(".feed-list").load("{admin_viewurl view='includes/thelia_news_feed'}");
})
</script>
{/block}

View File

@@ -1,9 +1,10 @@
{check_auth roles="ADMIN" permissions="admin.configuration.messages.edit" login_tpl="/admin/login"}
{extends file="admin-layout.tpl"}
{$page_title={intl l='Edit a mailing template'}}
{block name="page-title"}{intl l='Edit a mailing template'}{/block}
{include file='includes/header.inc.html'}
{block name="check-permissions"}admin.configuration.messages.edit{/block}
{block name="main-content"}
<div class="messages edit-message">
<div id="wrapper" class="container">
@@ -27,11 +28,9 @@
<div class="form-container">
<div class="form-horizontal span12">
<fieldset>
{form name="thelia.admin.message.modification"}
<form method="POST" action="{url path='/admin/configuration/messages/save-change'}" {form_enctype form=$form}>
{form name="thelia.admin.message.modification"}
<form method="POST" action="{url path='/admin/configuration/messages/save-change'}" {form_enctype form=$form}>
<fieldset>
{* Be sure to get the message ID, even if the form could not be validated *}
<input type="hidden" name="message_id" value="{$message_id}" />
@@ -142,9 +141,15 @@
</div>
</div>
{/form_field}
</form>
{/form}
</fieldset>
<div class="control-group">
<div class="controls">
<p>{intl l='Message created on %date_create. Last modification: %date_change' df=$datetime_format date_create=$CREATE_DATE->format($datetime_format) date_change=$UPDATE_DATE->format($datetime_format)}</p>
</div>
</div>
</fieldset>
</form>
{/form}
</div>
</div>
</div>
@@ -165,7 +170,4 @@
</div>
</div>
{include file='includes/js.inc.html'}
{include file='includes/footer.inc.html'}
{/block}

View File

@@ -1,9 +1,10 @@
{check_auth roles="ADMIN" permissions="admin.configuration.messages.view" login_tpl="/admin/login"}
{extends file="admin-layout.tpl"}
{$page_title={intl l='Thelia Mailing Templates'}}
{block name="page-title"}{intl l='Thelia Mailing Templates'}{/block}
{include file='includes/header.inc.html'}
{block name="check-permissions"}admin.configuration.messages.view{/block}
{block name="main-content"}
<div class="messages">
<div id="wrapper" class="container">
@@ -202,9 +203,9 @@
</div>
</form>
</div>
{/block}
{include file='includes/js.inc.html'}
{block name="javascript-initialization"}
<script>
$(function() {
@@ -235,5 +236,4 @@
});
});
</script>
{include file='includes/footer.inc.html'}
{/block}

View File

@@ -1,9 +1,10 @@
{check_auth roles="ADMIN" permissions="admin.configuration.variables.edit" login_tpl="/admin/login"}
{extends file="admin-layout.tpl"}
{$page_title={intl l='Edit a system variable'}}
{block name="page-title"}{intl l='Edit a system variable'}{/block}
{include file='includes/header.inc.html'}
{block name="check-permissions"}admin.configuration.variables.edit{/block}
{block name="main-content"}
<div class="variables edit-variable">
<div id="wrapper" class="container">
@@ -27,11 +28,9 @@
<div class="form-container">
<div class="form-horizontal span12">
<fieldset>
{form name="thelia.admin.config.modification"}
<form method="POST" action="{url path='/admin/configuration/variables/save-change'}" {form_enctype form=$form}>
{form name="thelia.admin.config.modification"}
<form method="POST" action="{url path='/admin/configuration/variables/save-change'}" {form_enctype form=$form}>
<fieldset>
{* Be sure to get the variable ID, even if the form could not be validated *}
<input type="hidden" name="variable_id" value="{$variable_id}" />
@@ -107,15 +106,22 @@
{include file="includes/standard-description-form-fields.html"}
</form>
{/form}
</fieldset>
<div class="control-group">
<div class="controls">
<p>{intl l='Variable created on %date_create. Last modification: %date_change' df=$datetime_format date_create=$CREATE_DATE->format($datetime_format) date_change=$UPDATE_DATE->format($datetime_format)}</p>
</div>
</div>
</fieldset>
</form>
{/form}
</div>
</div>
</div>
</div>
</div>
{/loop}
{elseloop rel="config_edit"}
@@ -130,7 +136,4 @@
</div>
</div>
{include file='includes/js.inc.html'}
{include file='includes/footer.inc.html'}
{/block}

View File

@@ -1,9 +1,10 @@
{check_auth roles="ADMIN" permissions="admin.configuration.variables.view" login_tpl="/admin/login"}
{extends file="admin-layout.tpl"}
{$page_title={intl l='Thelia System Variables'}}
{block name="page-title"}{intl l='Thelia System Variables'}{/block}
{include file='includes/header.inc.html'}
{block name="check-permissions"}admin.configuration.variables.view{/block}
{block name="main-content"}
<div class="variables">
<div id="wrapper" class="container">
@@ -223,9 +224,9 @@
</div>
</form>
</div>
{/block}
{include file='includes/js.inc.html'}
{block name="javascript-initialization"}
<script>
$(function() {
@@ -280,5 +281,4 @@
});
</script>
{include file='includes/footer.inc.html'}
{/block}