Added name duplication check when creating a variable
This commit is contained in:
@@ -53,6 +53,8 @@ class Config extends BaseAction implements EventSubscriberInterface
|
|||||||
->setValue($event->getValue())
|
->setValue($event->getValue())
|
||||||
->setLocale($event->getLocale())
|
->setLocale($event->getLocale())
|
||||||
->setTitle($event->getTitle())
|
->setTitle($event->getTitle())
|
||||||
|
->setHidden($event->getHidden())
|
||||||
|
->setSecured($event->getSecured())
|
||||||
|
|
||||||
->save()
|
->save()
|
||||||
;
|
;
|
||||||
@@ -69,18 +71,19 @@ class Config extends BaseAction implements EventSubscriberInterface
|
|||||||
{
|
{
|
||||||
$search = ConfigQuery::create();
|
$search = ConfigQuery::create();
|
||||||
|
|
||||||
if (null !== $config = $search->findOneById($event->getConfigId())
|
if (null !== $config = $search->findOneById($event->getConfigId())) {
|
||||||
&&
|
|
||||||
$event->getValue() != $config->getValue()) {
|
|
||||||
|
|
||||||
$config
|
if ($event->getValue() !== $config->getValue()) {
|
||||||
->setDispatcher($this->getDispatcher())
|
|
||||||
|
|
||||||
->setValue($event->getValue())
|
$config
|
||||||
->save()
|
->setDispatcher($this->getDispatcher())
|
||||||
;
|
|
||||||
|
|
||||||
$event->setConfig($config);
|
->setValue($event->getValue())
|
||||||
|
->save()
|
||||||
|
;
|
||||||
|
|
||||||
|
$event->setConfig($config);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,6 +125,7 @@ class Config extends BaseAction implements EventSubscriberInterface
|
|||||||
*/
|
*/
|
||||||
public function delete(ConfigDeleteEvent $event)
|
public function delete(ConfigDeleteEvent $event)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (null !== ($config = ConfigQuery::create()->findOneById($event->getConfigId()))) {
|
if (null !== ($config = ConfigQuery::create()->findOneById($event->getConfigId()))) {
|
||||||
|
|
||||||
if (! $config->getSecured()) {
|
if (! $config->getSecured()) {
|
||||||
|
|||||||
@@ -83,7 +83,9 @@ class VariablesController extends BaseAdminController
|
|||||||
->setValue($data['value'])
|
->setValue($data['value'])
|
||||||
->setLocale($data["locale"])
|
->setLocale($data["locale"])
|
||||||
->setTitle($data['title'])
|
->setTitle($data['title'])
|
||||||
;
|
->setHidden($data['hidden'])
|
||||||
|
->setSecured($data['secured'])
|
||||||
|
;
|
||||||
|
|
||||||
$this->dispatch(TheliaEvents::CONFIG_CREATE, $createEvent);
|
$this->dispatch(TheliaEvents::CONFIG_CREATE, $createEvent);
|
||||||
|
|
||||||
@@ -288,7 +290,7 @@ class VariablesController extends BaseAdminController
|
|||||||
if (null !== $response = $this->checkAuth("admin.configuration.variables.delete")) return $response;
|
if (null !== $response = $this->checkAuth("admin.configuration.variables.delete")) return $response;
|
||||||
|
|
||||||
// Get the config id, and dispatch the delet request
|
// Get the config id, and dispatch the delet request
|
||||||
$event = new ConfigDeleteEvent($this->getRequest()->get('id'));
|
$event = new ConfigDeleteEvent($this->getRequest()->get('variable_id'));
|
||||||
|
|
||||||
$this->dispatch(TheliaEvents::CONFIG_DELETE, $event);
|
$this->dispatch(TheliaEvents::CONFIG_DELETE, $event);
|
||||||
|
|
||||||
|
|||||||
@@ -120,6 +120,29 @@ class BaseController extends ContainerAware
|
|||||||
return $request->getSession();
|
return $request->getSession();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all errors that occured in a form
|
||||||
|
*
|
||||||
|
* @param \Symfony\Component\Form\Form $form
|
||||||
|
* @return string the error string
|
||||||
|
*/
|
||||||
|
private function getErrorMessages(\Symfony\Component\Form\Form $form) {
|
||||||
|
|
||||||
|
$errors = '';
|
||||||
|
|
||||||
|
foreach ($form->getErrors() as $key => $error) {
|
||||||
|
$errors .= $error->getMessage() . ', ';
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($form->all() as $child) {
|
||||||
|
if (!$child->isValid()) {
|
||||||
|
$errors .= $this->getErrorMessages($child) . ', ';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return rtrim($errors, ', ');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validate a BaseForm
|
* Validate a BaseForm
|
||||||
*
|
*
|
||||||
@@ -138,10 +161,12 @@ class BaseController extends ContainerAware
|
|||||||
|
|
||||||
if ($form->isValid()) {
|
if ($form->isValid()) {
|
||||||
return $form;
|
return $form;
|
||||||
} else {
|
|
||||||
throw new FormValidationException("Missing or invalid data");
|
|
||||||
}
|
}
|
||||||
} else {
|
else {
|
||||||
|
throw new FormValidationException(sprintf("Missing or invalid data: %s", $this->getErrorMessages($form)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
throw new FormValidationException(sprintf("Wrong form method, %s expected.", $expectedMethod));
|
throw new FormValidationException(sprintf("Wrong form method, %s expected.", $expectedMethod));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,8 +29,6 @@ class ConfigChangeEvent extends ConfigCreateEvent
|
|||||||
{
|
{
|
||||||
protected $config_id;
|
protected $config_id;
|
||||||
|
|
||||||
protected $hidden;
|
|
||||||
protected $secured;
|
|
||||||
protected $description;
|
protected $description;
|
||||||
protected $chapo;
|
protected $chapo;
|
||||||
protected $postscriptum;
|
protected $postscriptum;
|
||||||
@@ -52,30 +50,6 @@ class ConfigChangeEvent extends ConfigCreateEvent
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getHidden()
|
|
||||||
{
|
|
||||||
return $this->hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setHidden($hidden)
|
|
||||||
{
|
|
||||||
$this->hidden = $hidden;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getSecured()
|
|
||||||
{
|
|
||||||
return $this->secured;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function setSecured($secured)
|
|
||||||
{
|
|
||||||
$this->secured = $secured;
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getDescription()
|
public function getDescription()
|
||||||
{
|
{
|
||||||
return $this->description;
|
return $this->description;
|
||||||
|
|||||||
@@ -30,6 +30,8 @@ class ConfigCreateEvent extends ConfigEvent
|
|||||||
protected $value;
|
protected $value;
|
||||||
protected $locale;
|
protected $locale;
|
||||||
protected $title;
|
protected $title;
|
||||||
|
protected $hidden;
|
||||||
|
protected $secured;
|
||||||
|
|
||||||
// Use event_name to prevent conflict with Event::name property.
|
// Use event_name to prevent conflict with Event::name property.
|
||||||
public function getEventName()
|
public function getEventName()
|
||||||
@@ -79,4 +81,28 @@ class ConfigCreateEvent extends ConfigEvent
|
|||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getHidden()
|
||||||
|
{
|
||||||
|
return $this->hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setHidden($hidden)
|
||||||
|
{
|
||||||
|
$this->hidden = $hidden;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSecured()
|
||||||
|
{
|
||||||
|
return $this->secured;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setSecured($secured)
|
||||||
|
{
|
||||||
|
$this->secured = $secured;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,22 @@ use Thelia\Model\Config;
|
|||||||
|
|
||||||
class ConfigDeleteEvent extends ConfigEvent
|
class ConfigDeleteEvent extends ConfigEvent
|
||||||
{
|
{
|
||||||
|
protected $config_id;
|
||||||
|
|
||||||
public function __construct($config_id)
|
public function __construct($config_id)
|
||||||
{
|
{
|
||||||
$this->setConfigId($config_id);
|
$this->setConfigId($config_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getConfigId()
|
||||||
|
{
|
||||||
|
return $this->config_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setConfigId($config_id)
|
||||||
|
{
|
||||||
|
$this->config_id = $config_id;
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,31 +22,39 @@
|
|||||||
/*************************************************************************************/
|
/*************************************************************************************/
|
||||||
namespace Thelia\Form;
|
namespace Thelia\Form;
|
||||||
|
|
||||||
use Symfony\Component\Validator\Constraints\NotBlank;
|
use Symfony\Component\Validator\Constraints;
|
||||||
use Thelia\Model\LangQuery;
|
use Thelia\Model\ConfigQuery;
|
||||||
use Propel\Runtime\ActiveQuery\Criteria;
|
use Symfony\Component\Validator\ExecutionContextInterface;
|
||||||
|
|
||||||
class VariableCreationForm extends BaseForm
|
class VariableCreationForm extends BaseForm
|
||||||
{
|
{
|
||||||
protected function buildForm()
|
protected function buildForm($change_mode = false)
|
||||||
{
|
{
|
||||||
|
$name_constraints = array(new Constraints\NotBlank());
|
||||||
|
|
||||||
|
if (!$change_mode) {
|
||||||
|
$name_constraints[] = new Constraints\Callback(array(
|
||||||
|
"methods" => array(array($this, "checkDuplicateName"))
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
$this->formBuilder
|
$this->formBuilder
|
||||||
->add("name", "text", array(
|
->add("name", "text", array(
|
||||||
"constraints" => array(
|
"constraints" => $name_constraints
|
||||||
new NotBlank()
|
|
||||||
)
|
|
||||||
))
|
))
|
||||||
->add("title", "text", array(
|
->add("title", "text", array(
|
||||||
"constraints" => array(
|
"constraints" => array(
|
||||||
new NotBlank()
|
new Constraints\NotBlank()
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
->add("locale", "hidden", array(
|
->add("locale", "hidden", array(
|
||||||
"constraints" => array(
|
"constraints" => array(
|
||||||
new NotBlank()
|
new Constraints\NotBlank()
|
||||||
)
|
)
|
||||||
))
|
))
|
||||||
->add("value", "text", array())
|
->add("value", "text", array())
|
||||||
|
->add("hidden", "hidden", array())
|
||||||
|
->add("secured", "hidden", array())
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,4 +62,14 @@ class VariableCreationForm extends BaseForm
|
|||||||
{
|
{
|
||||||
return "thelia_variable_creation";
|
return "thelia_variable_creation";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function checkDuplicateName($value, ExecutionContextInterface $context)
|
||||||
|
{
|
||||||
|
$config = ConfigQuery::create()->findOneByName($value);
|
||||||
|
|
||||||
|
if ($config) {
|
||||||
|
$context->addViolation(sprintf("A variable with name \"%s\" already exists.", $value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ class VariableModificationForm extends BaseDescForm
|
|||||||
{
|
{
|
||||||
protected function buildForm()
|
protected function buildForm()
|
||||||
{
|
{
|
||||||
parent::buildForm();
|
parent::buildForm(true);
|
||||||
|
|
||||||
$this->formBuilder
|
$this->formBuilder
|
||||||
->add("id", "hidden", array(
|
->add("id", "hidden", array(
|
||||||
@@ -49,11 +49,11 @@ class VariableModificationForm extends BaseDescForm
|
|||||||
->add("value", "text", array())
|
->add("value", "text", array())
|
||||||
->add("hidden", "hidden", array())
|
->add("hidden", "hidden", array())
|
||||||
->add("secured", "hidden", array())
|
->add("secured", "hidden", array())
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getName()
|
public function getName()
|
||||||
{
|
{
|
||||||
return "thelia_variable_creation";
|
return "thelia_variable_modification";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{check_auth context="admin" roles="ADMIN" permissions="admin.configuration.variables.edit" login_tpl="admin/login"}
|
{check_auth context="admin" roles="ADMIN" permissions="admin.configuration.variables.edit" login_tpl="/admin/login"}
|
||||||
|
|
||||||
{$page_title={intl l='Edit a system variable'}}
|
{$page_title={intl l='Edit a system variable'}}
|
||||||
|
|
||||||
@@ -11,9 +11,9 @@
|
|||||||
{loop name="config_edit" type="config" hidden="*" id="$variable_id" backend_context="1" lang="$edition_language"}
|
{loop name="config_edit" type="config" hidden="*" id="$variable_id" backend_context="1" lang="$edition_language"}
|
||||||
|
|
||||||
<ul class="breadcrumb">
|
<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/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'}">{intl l="Configuration"}</a> <span class="divider">/</span></li>
|
||||||
<li><a href="{url path='admin/configuration/variables'}">{intl l="System variables"}</a> <span class="divider">/</span></li>
|
<li><a href="{url path='/admin/configuration/variables'}">{intl l="System variables"}</a> <span class="divider">/</span></li>
|
||||||
<li>{intl l='Editing variable "%name"' name="{$NAME}"}</li>
|
<li>{intl l='Editing variable "%name"' name="{$NAME}"}</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
<fieldset>
|
<fieldset>
|
||||||
|
|
||||||
{form name="thelia.admin.variable.modification"}
|
{form name="thelia.admin.variable.modification"}
|
||||||
<form method="POST" action="{url path='admin/configuration/variables/save-change'}" {form_enctype form=$form}>
|
<form method="POST" action="{url path='/admin/configuration/variables/save-change'}" {form_enctype form=$form}>
|
||||||
|
|
||||||
{* Be sure to get the variable ID, even if the form could not be validated *}
|
{* Be sure to get the variable ID, even if the form could not be validated *}
|
||||||
<input type="hidden" name="variable_id" value="{$variable_id}" />
|
<input type="hidden" name="variable_id" value="{$variable_id}" />
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
{form_hidden_fields form=$form}
|
{form_hidden_fields form=$form}
|
||||||
|
|
||||||
{form_field form=$form field='success_url'}
|
{form_field form=$form field='success_url'}
|
||||||
<input type="hidden" name="{$name}" value="{url path='admin/configuration/variables'}" />
|
<input type="hidden" name="{$name}" value="{url path='/admin/configuration/variables'}" />
|
||||||
{/form_field}
|
{/form_field}
|
||||||
|
|
||||||
{* We do not allow creation of hidden variables *}
|
{* We do not allow creation of hidden variables *}
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
{/form_field}
|
{/form_field}
|
||||||
|
|
||||||
{form_field form=$form field='hidden'}
|
{form_field form=$form field='hidden'}
|
||||||
<input type="hidden" name="{$name}" value="0" />
|
<input type="hidden" name="{$name}" value="{$value}" />
|
||||||
{/form_field}
|
{/form_field}
|
||||||
|
|
||||||
{form_field form=$form field='locale'}
|
{form_field form=$form field='locale'}
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div class="controls">
|
<div class="controls">
|
||||||
{form_field form=$form field='value'}
|
{form_field form=$form field='secured'}
|
||||||
<span {if $error}class="error"{/if}>
|
<span {if $error}class="error"{/if}>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input type="checkbox" name="{$name}" value="1" {if $value == 1}checked="checked"{/if}>
|
<input type="checkbox" name="{$name}" value="1" {if $value == 1}checked="checked"{/if}>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{check_auth context="admin" roles="ADMIN" permissions="admin.configuration.variables.view" login_tpl="admin/login"}
|
{check_auth context="admin" roles="ADMIN" permissions="admin.configuration.variables.view" login_tpl="/admin/login"}
|
||||||
|
|
||||||
{$page_title={intl l='Thelia System Variables'}}
|
{$page_title={intl l='Thelia System Variables'}}
|
||||||
|
|
||||||
@@ -9,8 +9,8 @@
|
|||||||
<div id="wrapper" class="container">
|
<div id="wrapper" class="container">
|
||||||
|
|
||||||
<ul class="breadcrumb">
|
<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/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'}">{intl l="Configuration"}</a> <span class="divider">/</span></li>
|
||||||
<li>{intl l="System variables"}</li>
|
<li>{intl l="System variables"}</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
|
|
||||||
<div class="span12">
|
<div class="span12">
|
||||||
<form action="{url path='admin/configuration/variables/change-values'}" method="post">
|
<form action="{url path='/admin/configuration/variables/change-values'}" method="post">
|
||||||
<div class="general-block-decorator">
|
<div class="general-block-decorator">
|
||||||
<table class="table table-striped table-condensed table-left-aligned">
|
<table class="table table-striped table-condensed table-left-aligned">
|
||||||
<caption>
|
<caption>
|
||||||
@@ -60,14 +60,14 @@
|
|||||||
<td class="actions">
|
<td class="actions">
|
||||||
{if ! $SECURED}
|
{if ! $SECURED}
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<a class="btn btn-mini cancel-edit" id="cancel_edit_btn_{$ID}" data-id="{$ID}" title="{intl l='Cancel changes and revert to original value'}" href="#"><i class="icon-remove-circle"></i></a>
|
<a class="btn btn-mini cancel-edit" id="cancel_edit_btn_{$ID}" data-id="{$ID}" title="{intl l='Cancel changes and revert to original value'}" href="#"><i class="icon-remove"></i></a>
|
||||||
|
|
||||||
{loop type="auth" name="can_change" context="admin" roles="ADMIN" permissions="admin.configuration.variables.change"}
|
{loop type="auth" name="can_change" context="admin" roles="ADMIN" permissions="admin.configuration.variables.change"}
|
||||||
<a class="btn btn-mini config-change" title="{intl l='Change this variable'}" href="{url path='admin/configuration/variables/change' variable_id="$ID"}"><i class="icon-edit"></i></a>
|
<a class="btn btn-mini config-change" title="{intl l='Change this variable'}" href="{url path='/admin/configuration/variables/change' variable_id="$ID"}"><i class="icon-edit"></i></a>
|
||||||
{/loop}
|
{/loop}
|
||||||
|
|
||||||
{loop type="auth" name="can_delete" context="admin" roles="ADMIN" permissions="admin.configuration.variables.delete"}
|
{loop type="auth" name="can_delete" context="admin" roles="ADMIN" permissions="admin.configuration.variables.delete"}
|
||||||
<a class="btn btn-mini config-delete" title="{intl l='Delete this configuration variable'}" href="{url path='admin/configuration/variables/delete' id="$ID"}"><i class="icon-trash"></i></a>
|
<a class="btn btn-mini config-delete" title="{intl l='Delete this variable'}" href="#delete_variable_dialog" data-id="{$ID}" data-toggle="modal"><i class="icon-trash"></i></a>
|
||||||
{/loop}
|
{/loop}
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
@@ -96,13 +96,23 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{form name="thelia.admin.variable.creation"}
|
{form name="thelia.admin.variable.creation"}
|
||||||
<form method="POST" action="{url path='admin/configuration/variables/create'}" {form_enctype form=$form}>
|
<form method="POST" action="{url path='/admin/configuration/variables/create'}" {form_enctype form=$form}>
|
||||||
|
|
||||||
{form_hidden_fields form=$form}
|
{form_hidden_fields form=$form}
|
||||||
|
|
||||||
{form_field form=$form field='success_url'}
|
{form_field form=$form field='success_url'}
|
||||||
{* on success, redirect to the edition page, _ID_ is replaced with the created variable ID, see controller *}
|
{* on success, redirect to the edition page, _ID_ is replaced with the created variable ID, see controller *}
|
||||||
<input type="hidden" name="{$name}" value="{url path='admin/configuration/variables/change' variable_id='_ID_'}" />
|
<input type="hidden" name="{$name}" value="{url path='/admin/configuration/variables/change' variable_id='_ID_'}" />
|
||||||
|
{/form_field}
|
||||||
|
|
||||||
|
{* We do not allow users to create hidden or secured variables from here *}
|
||||||
|
|
||||||
|
{form_field form=$form field='hidden'}
|
||||||
|
<input type="hidden" name="{$name}" value="0" />
|
||||||
|
{/form_field}
|
||||||
|
|
||||||
|
{form_field form=$form field='secured'}
|
||||||
|
<input type="hidden" name="{$name}" value="0" />
|
||||||
{/form_field}
|
{/form_field}
|
||||||
|
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
@@ -167,8 +177,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn" data-dismiss="modal" aria-hidden="true">{intl l="Cancel"}</button>
|
|
||||||
<button type="submit" class="btn btn-primary">{intl l="Create this variable"}</button>
|
<button type="submit" class="btn btn-primary">{intl l="Create this variable"}</button>
|
||||||
|
<button type="button" class="btn" data-dismiss="modal" aria-hidden="true">{intl l="Cancel"}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
@@ -176,17 +186,38 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{* Delete confirmation dialog *}
|
||||||
|
|
||||||
|
<div class="modal hide fade" id="delete_variable_dialog" tabindex="-1" role="dialog" aria-hidden="true">
|
||||||
|
|
||||||
|
<div class="modal-header">
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||||
|
<h3>{intl l="Delete a variable"}</h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-body">
|
||||||
|
<p>{intl l="Do you really want to delete this variable ?"}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form method="post" action="{url path='/admin/configuration/variables/delete'}">
|
||||||
|
<input type="hidden" name="variable_id" id="variable_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>
|
||||||
|
|
||||||
{include file='includes/js.inc.html'}
|
{include file='includes/js.inc.html'}
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(function() {
|
$(function() {
|
||||||
|
|
||||||
// Variable delete confirmation
|
// Set proper variable ID in delete from
|
||||||
$('a.config-delete').click(function(ev) {
|
$('a.config-delete').click(function(ev) {
|
||||||
if (! confirm("{intl l='Do you really want to delete this variable ?'}")) {
|
$('#variable_delete_id').val($(this).data('id'));
|
||||||
ev.preventDefault();
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
{* display the form creation dialog if it contains errors *}
|
{* display the form creation dialog if it contains errors *}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user