Merge pull request #300 from roadster31/profilefix

"Module" tab improvement
This commit is contained in:
Manuel Raynaud
2014-04-16 23:50:37 +02:00
10 changed files with 248 additions and 242 deletions

View File

@@ -141,7 +141,7 @@ class AttributeAvController extends AbstractCrudController
->findOneById($this->getRequest()->get('attributeav_id', 0));
if (null !== $attributeAv) {
$attribute->setLocale($this->getCurrentEditionLocale());
$attributeAv->setLocale($this->getCurrentEditionLocale());
}
return $attributeAv;

View File

@@ -92,11 +92,11 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
public function getSearchIn()
{
return array(
"ref",
"customer_ref",
"customer_firstname",
"customer_lastname",
"customer_email",
'ref',
'customer_ref',
'customer_firstname',
'customer_lastname',
'customer_email',
);
}
@@ -115,25 +115,25 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
$search->_or();
}
switch ($searchInElement) {
case "ref":
case 'ref':
$search->filterByRef($searchTerm, $searchCriteria);
break;
case "customer_ref":
case 'customer_ref':
$search->filterByCustomer(
CustomerQuery::create()->filterByRef($searchTerm, $searchCriteria)->find()
);
break;
case "customer_firstname":
case 'customer_firstname':
$search->filterByOrderAddressRelatedByInvoiceOrderAddressId(
OrderAddressQuery::create()->filterByFirstname($searchTerm, $searchCriteria)->find()
);
break;
case "customer_lastname":
case 'customer_lastname':
$search->filterByOrderAddressRelatedByInvoiceOrderAddressId(
OrderAddressQuery::create()->filterByLastname($searchTerm, $searchCriteria)->find()
);
break;
case "customer_email":
case 'customer_email':
$search->filterByCustomer(
CustomerQuery::create()->filterByEmail($searchTerm, $searchCriteria)->find()
);
@@ -178,28 +178,28 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
case 'id':
$search->orderById(Criteria::ASC);
break;
case 'id_reverse':
case 'id-reverse':
$search->orderById(Criteria::DESC);
break;
case 'reference':
$search->orderByRef(Criteria::ASC);
break;
case 'reference_reverse':
case 'reference-reverse':
$search->orderByRef(Criteria::DESC);
break;
case "create-date":
case 'create-date':
$search->orderByCreatedAt(Criteria::ASC);
break;
case "create-date-reverse":
case 'create-date-reverse':
$search->orderByCreatedAt(Criteria::DESC);
break;
case "status":
case 'status':
$search->orderByStatusId(Criteria::ASC);
break;
case "status":
case 'status-reverse':
$search->orderByStatusId(Criteria::DESC);
break;
@@ -210,7 +210,7 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
->orderBy('company', Criteria::ASC)
;
break;
case 'companyreverse' :
case 'company-reverse' :
$search
->joinOrderAddressRelatedByDeliveryOrderAddressId()
->withColumn(OrderAddressTableMap::COMPANY, 'company')
@@ -244,31 +244,32 @@ class Order extends BaseLoop implements SearchLoopInterface, PropelSearchLoopInt
public function parseResults(LoopResult $loopResult)
{
/** @var \Thelia\Model\Order $order */
foreach ($loopResult->getResultDataCollection() as $order) {
$tax = 0;
$amount = $order->getTotalAmount($tax);
$loopResultRow = new LoopResultRow($order);
$loopResultRow
->set("ID", $order->getId())
->set("REF", $order->getRef())
->set("CUSTOMER", $order->getCustomerId())
->set("DELIVERY_ADDRESS", $order->getDeliveryOrderAddressId())
->set("INVOICE_ADDRESS", $order->getInvoiceOrderAddressId())
->set("INVOICE_DATE", $order->getInvoiceDate())
->set("CURRENCY", $order->getCurrencyId())
->set("CURRENCY_RATE", $order->getCurrencyRate())
->set("TRANSACTION_REF", $order->getTransactionRef())
->set("DELIVERY_REF", $order->getDeliveryRef())
->set("INVOICE_REF", $order->getInvoiceRef())
->set("POSTAGE", $order->getPostage())
->set("PAYMENT_MODULE", $order->getPaymentModuleId())
->set("DELIVERY_MODULE", $order->getDeliveryModuleId())
->set("STATUS", $order->getStatusId())
->set("LANG", $order->getLangId())
->set("DISCOUNT", $order->getDiscount())
->set("TOTAL_TAX", $tax)
->set("TOTAL_AMOUNT", $amount - $tax)
->set("TOTAL_TAXED_AMOUNT", $amount)
->set('ID', $order->getId())
->set('REF', $order->getRef())
->set('CUSTOMER', $order->getCustomerId())
->set('DELIVERY_ADDRESS', $order->getDeliveryOrderAddressId())
->set('INVOICE_ADDRESS', $order->getInvoiceOrderAddressId())
->set('INVOICE_DATE', $order->getInvoiceDate())
->set('CURRENCY', $order->getCurrencyId())
->set('CURRENCY_RATE', $order->getCurrencyRate())
->set('TRANSACTION_REF', $order->getTransactionRef())
->set('DELIVERY_REF', $order->getDeliveryRef())
->set('INVOICE_REF', $order->getInvoiceRef())
->set('POSTAGE', $order->getPostage())
->set('PAYMENT_MODULE', $order->getPaymentModuleId())
->set('DELIVERY_MODULE', $order->getDeliveryModuleId())
->set('STATUS', $order->getStatusId())
->set('LANG', $order->getLangId())
->set('DISCOUNT', $order->getDiscount())
->set('TOTAL_TAX', $tax)
->set('TOTAL_AMOUNT', $amount - $tax)
->set('TOTAL_TAXED_AMOUNT', $amount)
;
$loopResult->addRow($loopResultRow);

View File

@@ -67,7 +67,7 @@ class Module extends AbstractSmartyPlugin
if (false !== $location = $this->getParam($params, 'location', false)) {
if ($this->debug === true && $this->request->get('SHOW_INCLUDE')) {
echo sprintf('<div style="background-color: #C82D26; border-color: #000000; border: solid;">%s</div>', $location);
echo sprintf('<div style="background-color: #C82D26; color: #fff; border-color: #000000; border: solid;">%s</div>', $location);
}
$moduleLimit = $this->getParam($params, 'module', null);
@@ -83,9 +83,14 @@ class Module extends AbstractSmartyPlugin
$file = sprintf("%s/AdminIncludes/%s.html", $module->getAbsoluteBaseDir(), $location);
if (file_exists($file)) {
$content .= file_get_contents($file);
$count++;
$output = trim(file_get_contents($file));
if (! empty($output)) {
$content .= $output;
$count++;
}
}
}
}

View File

@@ -271,13 +271,8 @@
}
</div>
{module_include location='category-edit' countvar='module_count'}
{include file="includes/module-tab-content.html" location="category-edit"}
{if $module_count == 0}
<div class="alert alert-info">
{intl l="There is currently no active module here."}
</div>
{/if}
</div>
</div>
</div>

View File

@@ -7,190 +7,184 @@
{block name="main-content"}
<div class="folder edit-folder">
<div id="wrapper" class="container">
<div id="wrapper" class="container">
{include file="includes/folder-breadcrumb.html" editing_content="true"}
<div class="row">
{loop name="content_edit" type="content" visible="*" id="{$content_id}" backend_context="1" lang="$edit_language_id"}
<div class="col-md-12 general-block-decorator">
<div class="row">
<div class="col-md-7 title">
{intl l='Edit content %title' title=$TITLE}
</div>
<div class="col-md-5 actions">
{if $HAS_PREVIOUS != 0}
<a href="{url path="/admin/content/update/$PREVIOUS"}" class="btn btn-default" title="{intl l='Edit previous content'}"><span class="glyphicon glyphicon-arrow-left"></span></a>
{else}
<a href="#" disabled="disabled" class="btn btn-default"><span class="glyphicon glyphicon-arrow-left"></span></a>
{/if}
<a href="{$URL}" target="_blank" class="btn btn-default" title="{intl l='Preview folder page'}"><span class="glyphicon glyphicon-eye-open"></span></a>
{if $HAS_NEXT != 0}
<a href="{url path="/admin/content/update/$NEXT"}" class="btn btn-default" title="{intl l='Edit next content'}"><span class="glyphicon glyphicon-arrow-right"></span></a>
{else}
<a href="#" disabled="disabled" class="btn btn-default"><span class="glyphicon glyphicon-arrow-right"></span></a>
{/if}
</div>
</div>
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs" id="tabbed-menu">
<li class="active"><a href="#general" data-toggle="tab">{intl l="General description"}</a></li>
<li><a href="#seo" data-toggle="tab">{intl l="SEO"}</a></li>
<li><a href="#association" data-toggle="tab">{intl l="Associations"}</a></li>
<li><a href="#images" data-toggle="tab">{intl l="Images"}</a></li>
<li><a href="#documents" data-toggle="tab">{intl l="Documents"}</a></li>
<li><a href="#modules" data-toggle="tab">{intl l="Modules"}</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="general">
<div class="form-container">
{form name="thelia.admin.content.modification"}
<form method="POST" action="{url path='/admin/content/save'}" {form_enctype form=$form} class="clearfix">
{include file="includes/inner-form-toolbar.html" close_url="{url path='/admin/folders' parent=$DEFAULT_FOLDER}"}
{* Be sure to get the folder ID, even if the form could not be validated *}
<input type="hidden" name="content_id" value="{$content_id}" />
<input type="hidden" name="current_tab" value="general" />
{form_hidden_fields form=$form}
{form_field form=$form field='success_url'}
<input type="hidden" name="{$name}" value="{url path="/admin/content/update{$ID}"}" />
{/form_field}
{form_field form=$form field='locale'}
<input type="hidden" name="{$name}" value="{$edit_language_locale}" />
{/form_field}
{if $form_error}<div class="alert alert-danger">{$form_error_message}</div>{/if}
{include file="includes/folder-breadcrumb.html" editing_content="true"}
<div class="row">
{loop name="content_edit" type="content" visible="*" id="{$content_id}" backend_context="1" lang="$edit_language_id"}
<div class="col-md-12 general-block-decorator">
<div class="row">
<div class="col-md-8">
{include file="includes/standard-description-form-fields.html"}
<div class="col-md-7 title">
{intl l='Edit content %title' title=$TITLE}
</div>
<div class="col-md-4">
<div class="col-md-5 actions">
{form_field form=$form field='default_folder'}
<div class="form-group {if $error}has-error{/if}">
{if $HAS_PREVIOUS != 0}
<a href="{url path="/admin/content/update/$PREVIOUS"}" class="btn btn-default" title="{intl l='Edit previous content'}"><span class="glyphicon glyphicon-arrow-left"></span></a>
{else}
<a href="#" disabled="disabled" class="btn btn-default"><span class="glyphicon glyphicon-arrow-left"></span></a>
{/if}
<label for="{$label_attr.for}" class="control-label">
{$label} :
</label>
<a href="{$URL}" target="_blank" class="btn btn-default" title="{intl l='Preview folder page'}"><span class="glyphicon glyphicon-eye-open"></span></a>
<select id="{$label_attr.for}" required="required" name="{$name}" class="form-control">
<option value="0">{intl l="Top level"}</option>
{$myparent=$DEFAULT_FOLDER}
{loop name="fold-parent" type="folder-tree" visible="*" folder="0"}
<option value="{$ID}" style="padding-left: {3 + $LEVEL * 20}px" {if $myparent == $ID}selected="selected"{/if}>{$TITLE}</option>
{/loop}
</select>
</div>
{/form_field}
{form_field form=$form field='visible'}
<div class="form-group {if $error}has-error{/if}">
<label for="{$label_attr.for}" class="control-label">{intl l='Visibility'}</label>
<div class="checkbox">
<label>
<input type="checkbox" id="{$label_attr.for}" name="{$name}" value="1" {if $value != 0}checked="checked"{/if}>
{$label}
</label>
</div>
</div>
{/form_field}
{if $HAS_NEXT != 0}
<a href="{url path="/admin/content/update/$NEXT"}" class="btn btn-default" title="{intl l='Edit next content'}"><span class="glyphicon glyphicon-arrow-right"></span></a>
{else}
<a href="#" disabled="disabled" class="btn btn-default"><span class="glyphicon glyphicon-arrow-right"></span></a>
{/if}
</div>
</div>
{include
file="includes/inner-form-toolbar.html"
hide_submit_buttons = false
hide_flags = true
<div class="row">
<div class="col-md-12">
close_url="{url path='/admin/folders' parent=$DEFAULT_FOLDER}"
}
<ul class="nav nav-tabs" id="tabbed-menu">
<li class="active">
<a href="#general" data-toggle="tab">{intl l="General description"}</a></li>
<li><a href="#seo" data-toggle="tab">{intl l="SEO"}</a></li>
<li><a href="#association" data-toggle="tab">{intl l="Associations"}</a></li>
<li><a href="#images" data-toggle="tab">{intl l="Images"}</a></li>
<li><a href="#documents" data-toggle="tab">{intl l="Documents"}</a></li>
<li><a href="#modules" data-toggle="tab">{intl l="Modules"}</a></li>
</ul>
<small>{intl l='Folder created on %date_create. Last modification: %date_change' date_create="{format_date date=$CREATE_DATE}" date_change="{format_date date=$UPDATE_DATE}"}</small>
<div class="tab-content">
</form>
{/form}
<div class="tab-pane fade active in" id="general">
<div class="form-container">
{form name="thelia.admin.content.modification"}
<form method="POST" action="{url path='/admin/content/save'}" {form_enctype form=$form} class="clearfix">
{include file="includes/inner-form-toolbar.html" close_url="{url path='/admin/folders' parent=$DEFAULT_FOLDER}"}
{* Be sure to get the folder ID, even if the form could not be validated *}
<input type="hidden" name="content_id" value="{$content_id}"/>
<input type="hidden" name="current_tab" value="general"/>
{form_hidden_fields form=$form}
{form_field form=$form field='success_url'}
<input type="hidden" name="{$name}" value="{url path="/admin/content/update{$ID}"}"/>
{/form_field}
{form_field form=$form field='locale'}
<input type="hidden" name="{$name}" value="{$edit_language_locale}"/>
{/form_field}
{if $form_error}
<div class="alert alert-danger">{$form_error_message}</div>{/if}
<div class="row">
<div class="col-md-8">
{include file="includes/standard-description-form-fields.html"}
</div>
<div class="col-md-4">
{form_field form=$form field='default_folder'}
<div class="form-group {if $error}has-error{/if}">
<label for="{$label_attr.for}" class="control-label">
{$label} :
</label>
<select id="{$label_attr.for}" required="required" name="{$name}" class="form-control">
<option value="0">{intl l="Top level"}</option>
{$myparent=$DEFAULT_FOLDER}
{loop name="fold-parent" type="folder-tree" visible="*" folder="0"}
<option value="{$ID}" style="padding-left: {3 + $LEVEL * 20}px" {if $myparent == $ID}selected="selected"{/if}>{$TITLE}</option>
{/loop}
</select>
</div>
{/form_field}
{form_field form=$form field='visible'}
<div class="form-group {if $error}has-error{/if}">
<label for="{$label_attr.for}" class="control-label">{intl l='Visibility'}</label>
<div class="checkbox">
<label>
<input type="checkbox" id="{$label_attr.for}" name="{$name}" value="1" {if $value != 0}checked="checked"{/if}>
{$label}
</label>
</div>
</div>
{/form_field}
</div>
</div>
{include
file="includes/inner-form-toolbar.html"
hide_submit_buttons = false
hide_flags = true
close_url="{url path='/admin/folders' parent=$DEFAULT_FOLDER}"
}
<small>{intl l='Folder created on %date_create. Last modification: %date_change' date_create="{format_date date=$CREATE_DATE}" date_change="{format_date date=$UPDATE_DATE}"}</small>
</form>
{/form}
</div>
</div>
<div class="tab-pane fade" id="seo">
{form name="thelia.admin.seo"}
{include file="includes/seo-tab.html"
form = $form
formAction = "{url path='/admin/content/seo/save'}"
closeUrl = "{url path='/admin/folders' parent=$DEFAULT_FOLDER}"
current_id = $content_id
}
{/form}
</div>
<div class="tab-pane fade" id="association">
{include file="includes/content-folder-management.html"}
</div>
<div class="tab-pane fade" id="images">
{include file='includes/image-upload-form.html' imageType='content' parentId=$content_id}
</div>
<div class="tab-pane fade" id="documents">
{include file='includes/document-upload-form.html' documentType='content' parentId=$content_id}
</div>
<div class="tab-pane fade" id="modules">
<div class="form-container">
{include
file = "includes/inner-form-toolbar.html"
hide_submit_buttons = true
page_url = {$pageUrl}
close_url = {$closeUrl}
current_tab = "modules"
}
</div>
{include file="includes/module-tab-content.html" location="content-edit"}
</div>
</div>
</div>
</div>
</div>
{/loop}
</div>
</div>
<div class="tab-pane fade" id="seo">
{form name="thelia.admin.seo"}
{include file="includes/seo-tab.html"
form = $form
formAction = "{url path='/admin/content/seo/save'}"
closeUrl = "{url path='/admin/folders' parent=$DEFAULT_FOLDER}"
current_id = $content_id
}
{/form}
</div>
<div class="tab-pane fade" id="association">
{include file="includes/content-folder-management.html"}
</div>
<div class="tab-pane fade" id="images">
{include file='includes/image-upload-form.html' imageType='content' parentId=$content_id}
</div>
<div class="tab-pane fade" id="documents">
{include file='includes/document-upload-form.html' documentType='content' parentId=$content_id}
</div>
<div class="tab-pane fade" id="modules">
<div class="form-container">
{include
file = "includes/inner-form-toolbar.html"
hide_submit_buttons = true
page_url = {$pageUrl}
close_url = {$closeUrl}
current_tab = "modules"
}
</div>
{module_include location='content-edit' countvar='module_count'}
{if $module_count == 0}
<div class="alert alert-info">
{intl l="There is currently no active module here."}
</div>
{/if}
</div>
</div>
</div>
</div>
</div>
{/loop}
</div>
</div>
</div>
{* Delete category confirmation dialog *}
{* Delete category confirmation dialog *}
{capture "delete_folder_dialog"}
<input type="hidden" name="content_id" value="{$content_id}" />
<input type="hidden" name="additional_folder_id" id="additional_folder_delete_id" value="" />
<input type="hidden" name="current_tab" value="association" />
<input type="hidden" name="content_id" value="{$content_id}"/>
<input type="hidden" name="additional_folder_id" id="additional_folder_delete_id" value=""/>
<input type="hidden" name="current_tab" value="association"/>
{/capture}
{include
@@ -220,7 +214,6 @@ form_content = {$smarty.capture.delete_folder_dialog nofilter}
{javascripts file='assets/js/jquery-ui-1.10.3.custom.min.js'}
<script src="{$asset_url}"></script>
{/javascripts}
<script>
$(function() {
$.imageUploadManager.initImageDropZone();
@@ -250,10 +243,10 @@ form_content = {$smarty.capture.delete_folder_dialog nofilter}
// Load content on folder selection
$('#folder_id').change(function(event) {
$.ajax({
url : '{url path="/admin/folder/$folder_id/available-related-content/"}' + $(this).val() + '.xml',
type : 'get',
dataType : 'json',
success : function(json) {
url: '{url path="/admin/folder/$folder_id/available-related-content/"}' + $(this).val() + '.xml',
type: 'get',
dataType: 'json',
success: function(json) {
$('#content_id :not(:first-child)').remove();
var have_content = false;
@@ -273,7 +266,10 @@ form_content = {$smarty.capture.delete_folder_dialog nofilter}
});
});
// Initialize folder (id={$folder_id}) select value
// Initialize folder (id=
{$folder_id})
select
value
{if $folder_id != 0}
$('#folder_id').val("{$folder_id}").change();
{/if}

View File

@@ -152,13 +152,7 @@
}
</div>
{module_include location='folder-edit' countvar='module_count'}
{if $module_count == 0}
<div class="alert alert-info">
{intl l="There is currently no active module here."}
</div>
{/if}
{include file="includes/module-tab-content.html" location="folder-edit"}
</div>
</div>
</div>

View File

@@ -0,0 +1,15 @@
{capture name="module_include"}
{module_include location=$location countvar='module_count'}
{/capture}
{if trim($smarty.capture.module_include) == ''}
<br />
<div class="alert alert-info">
<p class="text-center" style="font-size: 2.2em"><span class="glyphicon glyphicon-info-sign"></span></p>
<p class="text-center">{intl l="There is currently no active module here."}</p>
</div>
{else}
x="{$smarty.capture.module_include nofilter}"
{/if}

View File

@@ -15,7 +15,8 @@
<ul class="breadcrumb">
<li><a href="{url path='/admin/home'}">{intl l="Home"}</a></li>
<li><a href="{url path='/admin/orders'}">{intl l="Orders"}</a></li>
<li><a href="{url path='/admin/orders'}">{intl l="Orders"}</a></li>
<li>{intl l="Order details"}</a></li>
</ul>
<div class="row">
@@ -35,7 +36,7 @@
<div class="row">
<div class="col-md-7 title">
{intl l='Order %ref' ref=$REF}
{intl l='Order %ref - ID %id' id=$ID ref=$REF}
</div>
<div class="col-md-5 actions">
@@ -352,13 +353,7 @@
<div class="tab-pane fade {if $oder_tab == 'modules'}active in{/if} clearfix" id="modules">
{module_include location='order-edit' countvar='module_count'}
{if $module_count == 0}
<div class="alert alert-info">
{intl l="There is currently no active module here."}
</div>
{/if}
{include file="includes/module-tab-content.html" location="order-edit"}
</div>
</div>
{/loop}

View File

@@ -32,6 +32,16 @@
<thead>
<tr>
<th class="object-title">
{admin_sortable_header
current_order=$orders_order
order='id'
reverse_order='id-reverse'
path={url path='/admin/orders'}
request_parameter_name='orders_order'
label="{intl l='ID'}"
} </th>
<th class="object-title">
{admin_sortable_header
current_order=$orders_order
@@ -39,7 +49,7 @@
reverse_order='reference-reverse'
path={url path='/admin/orders'}
request_parameter_name='orders_order'
label="{intl l='Order #'}"
label="{intl l='Reference'}"
} </th>
<th class="object-title">
@@ -111,6 +121,7 @@
<tr>
<td><a href="{url path="/admin/order/update/$ID"}">{$ID}</a></td>
<td><a href="{url path="/admin/order/update/$ID"}">{$REF}</a></td>
<td>{format_date date=$CREATE_DATE}</td>
<td>{$orderInvoiceCompany}</td>

View File

@@ -119,13 +119,7 @@
}
</div>
{module_include location='product-edit' countvar='module_count'}
{if $module_count == 0}
<div class="alert alert-info">
{intl l="There is currently no active module here."}
</div>
{/if}
{include file="includes/module-tab-content.html" location="product-edit"}
</div>
</div>