trinity updates, template updates
This commit is contained in:
parent
74b8347c87
commit
62d0565ace
|
@ -34,3 +34,12 @@
|
|||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% block main_menu_bind %}
|
||||
{% if page.pager.hasPreviousPage %}
|
||||
<li class="bind"><a href="{{ cms_path('category', {id: page.object.id, category: page.object.slug, page: page.pager.getPreviousPage}) }}"><span class="glyphicon glyphicon-backward"></span></a></li>
|
||||
{% endif %}
|
||||
{% if page.pager.hasNextPage %}
|
||||
<li class="bind"><a href="{{ cms_path('category', {id: page.object.id, category: page.object.slug, page: page.pager.getNextPage}) }}"><span class="glyphicon glyphicon-forward"></span></a></li>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
|
BIN
vendor/trinity/src/Trinity/.svn/wc.db
vendored
BIN
vendor/trinity/src/Trinity/.svn/wc.db
vendored
Binary file not shown.
|
@ -327,7 +327,7 @@ class BaseAdminController extends Controller
|
|||
|
||||
protected function processForm(&$form, &$object, Request $request)
|
||||
{
|
||||
$form->bind($request);
|
||||
$form->submit($request);
|
||||
|
||||
if ($form->isValid()) {
|
||||
if ($object instanceof \FOS\UserBundle\Propel\User) {
|
||||
|
|
|
@ -1228,6 +1228,11 @@ li.item p {
|
|||
background: url('/bundles/trinityadmin/img/flags/de.png') center center no-repeat;
|
||||
}
|
||||
|
||||
.nav-tab-zh a,
|
||||
.nav-tab-zh_CN a {
|
||||
background: url('/bundles/trinityadmin/img/flags/ch.png') center center no-repeat;
|
||||
}
|
||||
|
||||
.file-preview-img {
|
||||
max-width: 100px;
|
||||
display: block;
|
||||
|
|
|
@ -1144,6 +1144,44 @@ $(document).ready(function() {
|
|||
$('.form-icon-helper').css('margin-left', '3px').tooltip();
|
||||
|
||||
$('#crud form > ul.error_list').addClass('alert').addClass('alert-danger');
|
||||
|
||||
if ($('#page_dataModel').length && $('#page_dataModelId').length) {
|
||||
var $pageDataModel = $('#page_dataModel');
|
||||
var $pageDataModelId = $('#page_dataModelId');
|
||||
|
||||
var checkDatModelSelect = function() {
|
||||
if (!$pageDataModel.val()) {
|
||||
$pageDataModelId.find('option:selected').removeAttr('selected');
|
||||
$pageDataModelId.attr('disabled', 'disabled');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$pageDataModelId.removeAttr('disabled');
|
||||
|
||||
var dataModelName = $.trim($pageDataModel.children('option:selected').html());
|
||||
var $selected = [];
|
||||
|
||||
$pageDataModelId.children('optgroup').each(function() {
|
||||
if ($.trim($(this).attr('label')) !== dataModelName) {
|
||||
$(this).find('option:selected').removeAttr('selected');
|
||||
$(this).hide();
|
||||
} else {
|
||||
$selected = $(this).find('option[selected]');
|
||||
$(this).show();
|
||||
}
|
||||
});
|
||||
|
||||
if ($selected.length) {
|
||||
$selected.removeAttr('selected').attr('selected', 'selected');
|
||||
}
|
||||
|
||||
$pageDataModelId.trigger("chosen:updated");
|
||||
}
|
||||
|
||||
$pageDataModel.change(checkDatModelSelect);
|
||||
checkDatModelSelect();
|
||||
}
|
||||
});
|
||||
|
||||
$('#media-categories-tree a').live(
|
||||
|
|
|
@ -56,7 +56,7 @@ crud:
|
|||
fail:
|
||||
update: 'Mise à jour échouée.'
|
||||
new: 'Création échouée'
|
||||
remove: 'Il y a eu un problème pendant la suppresion.'
|
||||
remove: 'Il y a eu un problème pendant la suppression.'
|
||||
unknown: 'Élément inexistant.'
|
||||
|
||||
user:
|
||||
|
|
|
@ -43,3 +43,4 @@
|
|||
</form>
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ class DefaultController extends Controller
|
|||
$navs = NavQuery::create()->orderByName()->find();
|
||||
|
||||
$item = array(
|
||||
'title' => "Gestion de l'arborescence",
|
||||
'title' => "Tree management",
|
||||
'route_name' => 'TrinityContentManagerBundleNodeAdmin_index',
|
||||
'route_params' => array(),
|
||||
'test_is_granted' => true,
|
||||
|
|
|
@ -1,16 +1,13 @@
|
|||
<?xml version="1.0" ?>
|
||||
|
||||
<container xmlns="http://symfony.com/schema/dic/services"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
|
||||
|
||||
<parameters>
|
||||
<!--
|
||||
<parameter key="trinity_assets.compressor.class">Trinity\Bundle\AssetsBundle\Compressor\TestCompressor</parameter>
|
||||
-->
|
||||
<parameter key="trinity_assets.compressor.class">Trinity\Bundle\AssetsBundle\Compressor\LessCssCompressor</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
<service id="trinity.assets.compressor" class="%trinity_assets.compressor.class%">
|
||||
<call method="setBinPath">
|
||||
|
|
|
@ -23,10 +23,7 @@ class ContactFilterType extends BaseAbstractType
|
|||
'name',
|
||||
'text',
|
||||
array(
|
||||
'required' => true,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Nom',
|
||||
),
|
||||
'required' => false,
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -34,10 +31,7 @@ class ContactFilterType extends BaseAbstractType
|
|||
'firm',
|
||||
'text',
|
||||
array(
|
||||
'required' => true,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Société',
|
||||
),
|
||||
'required' => false,
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -45,10 +39,7 @@ class ContactFilterType extends BaseAbstractType
|
|||
'phone',
|
||||
'text',
|
||||
array(
|
||||
'required' => true,
|
||||
'attr' => array(
|
||||
'placeholder' => 'Téléphone',
|
||||
),
|
||||
'required' => false,
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -56,10 +47,7 @@ class ContactFilterType extends BaseAbstractType
|
|||
'email',
|
||||
'email',
|
||||
array(
|
||||
'required' => true,
|
||||
'attr' => array(
|
||||
'placeholder' => 'E-mail',
|
||||
),
|
||||
'required' => false,
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ namespace Trinity\Bundle\ContentManagerBundle\Block;
|
|||
|
||||
use Propel;
|
||||
use PropelPDO;
|
||||
use Symfony\Component\HttpFoundation\File\File;
|
||||
use Symfony\Component\HttpFoundation\File\UploadedFile;
|
||||
use Trinity\Bundle\ContentManagerBundle\Model\BlockPeer;
|
||||
use Trinity\Bundle\ContentManagerBundle\Model\Block;
|
||||
|
@ -145,4 +146,15 @@ class FileBlock extends Block
|
|||
|
||||
return parent::postDelete($con);
|
||||
}
|
||||
|
||||
public function getValueAsFile()
|
||||
{
|
||||
$file = $this->getUploadDir('value') . DIRECTORY_SEPARATOR . $this->value;
|
||||
|
||||
if (file_exists($file) && is_file($file)) {
|
||||
return new File($file);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ class NavType extends AbstractType
|
|||
array(
|
||||
'required' => true,
|
||||
'attr' => array(
|
||||
'data-help' => "Utilisation possible d'une regex, exemple : regex:/.*\\.exemple.fr/s",
|
||||
'data-help' => "Regex available, eg: regex:/.*\\.example.com/s",
|
||||
),
|
||||
'constraints' => array(
|
||||
new NotBlank(),
|
||||
|
|
|
@ -13,10 +13,7 @@ class NodeAddType extends NodeType
|
|||
{
|
||||
$builder->add(
|
||||
'title',
|
||||
'text',
|
||||
array(
|
||||
'label' => 'nodeTitle',
|
||||
)
|
||||
'text'
|
||||
);
|
||||
|
||||
$builder->add(
|
||||
|
@ -73,7 +70,7 @@ class NodeAddType extends NodeType
|
|||
array(
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'placeholder' => 'http://',
|
||||
'placeholder' => 'https://',
|
||||
),
|
||||
)
|
||||
);
|
||||
|
|
|
@ -15,7 +15,6 @@ class NodeMoveType extends NodeType
|
|||
'position',
|
||||
'hidden',
|
||||
array(
|
||||
// 'property_path' => false,
|
||||
'mapped' => false,
|
||||
'data'=> 'after',
|
||||
)
|
||||
|
@ -28,7 +27,6 @@ class NodeMoveType extends NodeType
|
|||
'class' => 'Trinity\Bundle\ContentManagerBundle\Model\Node',
|
||||
'query' => \Trinity\Bundle\ContentManagerBundle\Model\NodeQuery::getReferences($builder->getData()),
|
||||
'property' => 'levelRender',
|
||||
// 'property_path' => false,
|
||||
'mapped' => false,
|
||||
'required' => true,
|
||||
)
|
||||
|
|
|
@ -49,10 +49,7 @@ class NodeType extends AbstractType
|
|||
{
|
||||
$builder->add(
|
||||
'title',
|
||||
'text',
|
||||
array(
|
||||
'label' => 'nodeTitle',
|
||||
)
|
||||
'text'
|
||||
);
|
||||
|
||||
$builder->add(
|
||||
|
@ -79,7 +76,7 @@ class NodeType extends AbstractType
|
|||
array(
|
||||
'required' => false,
|
||||
'attr' => array(
|
||||
'placeholder' => 'http://',
|
||||
'placeholder' => 'https://',
|
||||
),
|
||||
)
|
||||
);
|
||||
|
|
|
@ -18,7 +18,7 @@ class PageMetasType extends PageType
|
|||
'required' => false,
|
||||
'attr' => array(
|
||||
'data-countable' => 1,
|
||||
'data-help' => 'seoTitleHelper'
|
||||
'data-help' => 'Recommended maximum length: 70 characters.'
|
||||
),
|
||||
)
|
||||
);
|
||||
|
@ -30,7 +30,7 @@ class PageMetasType extends PageType
|
|||
'required' => false,
|
||||
'attr' => array(
|
||||
'data-countable' => 1,
|
||||
'data-help' => 'metaDescriptionHelper'
|
||||
'data-help' => 'Recommended maximum length: 160 characters.'
|
||||
),
|
||||
)
|
||||
);
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
namespace Trinity\Bundle\ContentManagerBundle\Form\Type;
|
||||
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Trinity\Bundle\ContentManagerBundle\Model\PageQuery;
|
||||
|
||||
class PagePermissionsType extends PageType
|
||||
{
|
||||
|
@ -44,8 +45,11 @@ class PagePermissionsType extends PageType
|
|||
'dataModelId',
|
||||
'choice',
|
||||
array(
|
||||
'choices' => \Trinity\Bundle\ContentManagerBundle\Model\PageQuery::getModelForDataModels($dataModels),
|
||||
'choices' => PageQuery::getModelForDataModels($dataModels),
|
||||
'required' => false,
|
||||
// 'attr' => array(
|
||||
// 'class' => 'chosen-select',
|
||||
// ),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -54,13 +54,13 @@ class PageSitemapType extends PageType
|
|||
public function getPagesFrequency()
|
||||
{
|
||||
$frequencys = array(
|
||||
'always' => 'always',
|
||||
'hourly' => 'hourly',
|
||||
'daily' => 'daily',
|
||||
'weekly' => 'weekly',
|
||||
'monthly' => 'monthly',
|
||||
'yearly' => 'yearly',
|
||||
'never' => 'never'
|
||||
'always' => 'Always',
|
||||
'hourly' => 'Hourly',
|
||||
'daily' => 'Daily',
|
||||
'weekly' => 'Weekly',
|
||||
'monthly' => 'Monthly',
|
||||
'yearly' => 'Yearly',
|
||||
'never' => 'Never'
|
||||
|
||||
);
|
||||
|
||||
|
|
|
@ -51,9 +51,6 @@ cms:
|
|||
saved: 'Données sauvegardées.'
|
||||
|
||||
node:
|
||||
#nav:
|
||||
# list:
|
||||
# title: "Sélection d'une navigations"
|
||||
error:
|
||||
unselected: 'Vous devez sélectionner une navigation pour continuer.'
|
||||
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
<target>Navigation</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2">
|
||||
<source>name</source>
|
||||
<source>Name</source>
|
||||
<target>Nom</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3">
|
||||
<source>title</source>
|
||||
<source>Title</source>
|
||||
<target>Titre</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4">
|
||||
|
@ -55,7 +55,7 @@
|
|||
<target>Nouveau bloc éditorial</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="14">
|
||||
<source>action</source>
|
||||
<source>Action</source>
|
||||
<target>Action</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="15">
|
||||
|
@ -71,17 +71,13 @@
|
|||
<target>Édition de « %toString% »</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="18">
|
||||
<source>seoTitleHelper</source>
|
||||
<target>Longueur max conseillée : 70 caractères.</target>
|
||||
<source>Recommended maximum length: 70 characters.</source>
|
||||
<target>Longueur maximum conseillée : 70 caractères.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="19">
|
||||
<source>metaDescriptionHelper</source>
|
||||
<source>Recommended maximum length: 160 characters.</source>
|
||||
<target>Longueur max conseillée : 160 caractères.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="20">
|
||||
<source>metaKeywordsHelper</source>
|
||||
<target>Édition de « %toString% »</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="21">
|
||||
<source>Sitemap status</source>
|
||||
<target>Publication</target>
|
||||
|
@ -95,31 +91,31 @@
|
|||
<target>Fréquence de mise à jour</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="24">
|
||||
<source>always</source>
|
||||
<source>Always</source>
|
||||
<target>Toujours</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="25">
|
||||
<source>hourly</source>
|
||||
<source>Hourly</source>
|
||||
<target>Toutes les heures</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="26">
|
||||
<source>daily</source>
|
||||
<source>Daily</source>
|
||||
<target>Tous les jours</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="27">
|
||||
<source>weekly</source>
|
||||
<source>Weekly</source>
|
||||
<target>Toutes les semaines</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="28">
|
||||
<source>monthly</source>
|
||||
<source>Monthly</source>
|
||||
<target>Tous les mois</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="29">
|
||||
<source>yearly</source>
|
||||
<source>Yearly</source>
|
||||
<target>Tous les ans</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="30">
|
||||
<source>never</source>
|
||||
<source>Never</source>
|
||||
<target>Jamais</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="34">
|
||||
|
@ -262,6 +258,14 @@
|
|||
<source>Edition of "%title%"</source>
|
||||
<target>Édition de « %title% »</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="70">
|
||||
<source>Tree management</source>
|
||||
<target>Gestion de l'arborescence</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="71">
|
||||
<source>Regex available, eg: regex:/.*\.example.com/s</source>
|
||||
<target>Utilisation possible d'une regex, exemple : regex:/.*\.example.com/s</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
||||
|
|
|
@ -45,8 +45,7 @@ class NodeLoader extends Loader
|
|||
|
||||
$url = $node->getUrl();
|
||||
$page = $node->getPage();
|
||||
$controller = $node->getController() ? $node->getController(
|
||||
) : 'TrinityContentManagerBundle:Page:catchAll';
|
||||
$controller = $node->getController() ? $node->getController() : 'TrinityContentManagerBundle:Page:catchAll';
|
||||
|
||||
if ($node->getNodeAlias() && !$node->getNodeAlias()->getPage()) {
|
||||
continue;
|
||||
|
|
|
@ -1,127 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<file source-language="en" datatype="plaintext" original="file.ext">
|
||||
<body>
|
||||
<trans-unit id="1">
|
||||
<source>nav</source>
|
||||
<target>Navigation</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="2">
|
||||
<source>name</source>
|
||||
<target>Nom</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3">
|
||||
<source>title</source>
|
||||
<target>Titre</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="4">
|
||||
<source>Menus</source>
|
||||
<target>Menus</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="5">
|
||||
<source>Medias</source>
|
||||
<target>Médias</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="6">
|
||||
<source>Categories</source>
|
||||
<target>Catégories</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="7">
|
||||
<source>Editorial blocks</source>
|
||||
<target>Blocs éditoriaux</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="8">
|
||||
<source>Navs</source>
|
||||
<target>Navigations</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="9">
|
||||
<source>Pages</source>
|
||||
<target>Pages</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="10">
|
||||
<source>culture</source>
|
||||
<target>Langue</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="11">
|
||||
<source>domain</source>
|
||||
<target>Nom de domaine</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="12">
|
||||
<source>The couple domain/culture must be defined and unique.</source>
|
||||
<target>Le couple nom de domaine/culture doit être renseigné et unique.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="13">
|
||||
<source>New editorial block</source>
|
||||
<target>Nouveau bloc éditorial</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="14">
|
||||
<source>action</source>
|
||||
<target>Action</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="15">
|
||||
<source>New nav</source>
|
||||
<target>Nouvelle navigation</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="16">
|
||||
<source>New page</source>
|
||||
<target>Nouvelle page</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="17">
|
||||
<source>Edition of "%toString%"</source>
|
||||
<target>Édition de « %toString% »</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="18">
|
||||
<source>seoTitleHelper</source>
|
||||
<target>Longueur max conseillée : 70 caractères.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="19">
|
||||
<source>metaDescriptionHelper</source>
|
||||
<target>Longueur max conseillée : 160 caractères.</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="20">
|
||||
<source>metaKeywordsHelper</source>
|
||||
<target>Édition de « %toString% »</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="21">
|
||||
<source>Sitemap status</source>
|
||||
<target>Publication</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="22">
|
||||
<source>Sitemap priority</source>
|
||||
<target>Priorité</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="23">
|
||||
<source>Sitemap frequency</source>
|
||||
<target>Fréquence de mise à jour</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="24">
|
||||
<source>always</source>
|
||||
<target>Toujours</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="25">
|
||||
<source>hourly</source>
|
||||
<target>Toutes les heures</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="26">
|
||||
<source>daily</source>
|
||||
<target>Tous les jours</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="27">
|
||||
<source>weekly</source>
|
||||
<target>Toutes les semaines</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="28">
|
||||
<source>monthly</source>
|
||||
<target>Tous les mois</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="29">
|
||||
<source>yearly</source>
|
||||
<target>Tous les ans</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="30">
|
||||
<source>never</source>
|
||||
<target>Jamais</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
|
@ -21,22 +21,27 @@ class NewsletterFilterType extends BaseAbstractType
|
|||
$builder->add('name');
|
||||
$builder->add('senderName');
|
||||
$builder->add('senderEmail');
|
||||
|
||||
$builder->add('modelId',
|
||||
'model',
|
||||
array(
|
||||
'empty_value' => 'Tous',
|
||||
'empty_value' => 'All',
|
||||
'required' => false,
|
||||
'class' => 'Trinity\Bundle\NewsletterBundle\Model\Model'
|
||||
'class' => 'Trinity\Bundle\NewsletterBundle\Model\Model',
|
||||
)
|
||||
);
|
||||
|
||||
$builder->add('sentAt','datetime',
|
||||
$builder->add(
|
||||
'sentAt',
|
||||
'datetime',
|
||||
array(
|
||||
'widget' => 'single_text',
|
||||
'input' => 'string',
|
||||
'format' => 'yyyy-MM-dd hh:mm:ss',
|
||||
'with_seconds' => true,
|
||||
'attr' => array('class' => 'datetimepicker')
|
||||
'attr' => array(
|
||||
'class' => 'datetimepicker',
|
||||
),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -8,14 +8,12 @@
|
|||
<column name="is_read" type="boolean" defaultValue="false" />
|
||||
<column name="user_id" type="integer" />
|
||||
<column name="template_id" type="varchar" size="255" />
|
||||
|
||||
<foreign-key name="fk_notification_1" foreignTable="fos_user">
|
||||
<reference local="user_id" foreign="id" />
|
||||
</foreign-key>
|
||||
<foreign-key name="fk_notification_2" foreignTable="notification_template">
|
||||
<reference local="template_id" foreign="id" />
|
||||
</foreign-key>
|
||||
|
||||
<behavior name="timestampable" />
|
||||
</table>
|
||||
<table name="notification_template" phpName="Template" allowPkInsert="true">
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Trinity\Bundle\UserBundle\Controller;
|
||||
|
||||
use FOS\UserBundle\Propel\User;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
|
||||
|
@ -95,6 +96,7 @@ class UserAdminController extends BaseAdminController
|
|||
*/
|
||||
public function generatePasswordAction($object, $token, Request $request)
|
||||
{
|
||||
/** @var User $object */
|
||||
$redirect = $this->redirect($this->generateUrl('FOSUserBundleUserAdmin_index'));
|
||||
|
||||
if ($this->getRemoveToken() !== $token) {
|
||||
|
@ -109,7 +111,13 @@ class UserAdminController extends BaseAdminController
|
|||
|
||||
$new_password = substr(sha1(uniqid() + mt_rand() + time()), 0, 15);
|
||||
|
||||
$this->get('fos_user.user_manager')->updateUser($object->setPlainPassword($new_password));
|
||||
$object->setPlainPassword($new_password);
|
||||
|
||||
if($this->container->getParameter('trinity_user.active_when_generate') === true){
|
||||
$object->setEnabled(true);
|
||||
}
|
||||
|
||||
$this->get('fos_user.user_manager')->updateUser($object);
|
||||
|
||||
$this->sendGeneratedPassword($object, $new_password);
|
||||
|
||||
|
@ -136,6 +144,10 @@ class UserAdminController extends BaseAdminController
|
|||
$message =
|
||||
\Swift_Message::newInstance()
|
||||
->setSubject($this->get('translator')->trans('New password'))
|
||||
->setFrom(
|
||||
$this->container->getParameter('trinity_user.sender_mail'),
|
||||
$this->container->getParameter('trinity_user.sender_name')
|
||||
)
|
||||
->setTo(array($user->getEmail()))
|
||||
->setBody($body, 'text/html')
|
||||
;
|
||||
|
|
|
@ -24,6 +24,18 @@ class Configuration implements ConfigurationInterface
|
|||
->scalarNode('bo_auth_role')
|
||||
->defaultValue('ROLE_WEBMASTER')
|
||||
->end()
|
||||
|
||||
->booleanNode('active_when_generate')
|
||||
->defaultValue(false)
|
||||
->end()
|
||||
|
||||
->scalarNode('sender_mail')
|
||||
->defaultValue('noreply@webetdesign.com')
|
||||
->end()
|
||||
->scalarNode('sender_name')
|
||||
->defaultValue('Web&Design')
|
||||
->end()
|
||||
|
||||
->arrayNode('roles')
|
||||
->prototype('scalar')
|
||||
->end()
|
||||
|
|
|
@ -27,5 +27,9 @@ class TrinityUserExtension extends Extension
|
|||
|
||||
$container->setParameter('trinity_user.roles', isset($config['roles']) ? $config['roles'] : array());
|
||||
$container->setParameter('trinity_user.bo_auth_role', $config['bo_auth_role']);
|
||||
|
||||
$container->setParameter('trinity_user.active_when_generate', $config['active_when_generate']);
|
||||
$container->setParameter('trinity_user.sender_mail', $config['sender_mail']);
|
||||
$container->setParameter('trinity_user.sender_name', $config['sender_name']);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
error:
|
||||
configuration: 'File not configured.'
|
||||
notFound: 'File not found.'
|
||||
configuration: 'Fichier non configuré.'
|
||||
notFound: 'Fichier non trouvé.'
|
||||
|
|
|
@ -7,7 +7,15 @@
|
|||
|
||||
{% block file_widget %}
|
||||
{# {% set dir = attr.upload_dir is defined ? attr.upload_dir ~ '/' : '/' %} #}
|
||||
|
||||
{% if form.vars.data is not null %}
|
||||
{% set filename = form.vars.data %}
|
||||
{% elseif form.parent is defined and form.parent.vars.data is not null %}
|
||||
{% set method = 'get' ~ name|capitalize ~ 'AsFile' %}
|
||||
{% set filename = attribute(form.parent.vars.data, method, []) %}
|
||||
{% else %}
|
||||
{% set filename = null %}
|
||||
{% endif %}
|
||||
|
||||
{% if filename %}
|
||||
{% set is_image = filename.__toString()|replace({'.png': '', '.jpg': '', '.jpeg': '', '.gif': ''})|length < filename.__toString()|length %}
|
||||
|
|
Loading…
Reference in a new issue