Skip to content

Feature/blog #52

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Mar 11, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Bundle/BlogBundle/Resources/translations/victoire.fr.xliff
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,10 @@
<source>modal.blog.list.articlesList.status.scheduled</source>
<target>Planifié</target>
</trans-unit>
<trans-unit id="38" resname="form.blog.type.slug.label">
<source>form.blog.type.slug.label</source>
<target>URL</target>
</trans-unit>
</body>
</file>
</xliff>
68 changes: 47 additions & 21 deletions Bundle/BlogBundle/Resources/views/Article/settings.html.twig
Original file line number Diff line number Diff line change
@@ -1,37 +1,63 @@
{% extends 'VictoireBlogBundle:Article:new.html.twig' %}

{% trans_default_domain "victoire" %}

{% block modal_body_content %}

<div class="vic-tab-content vic-modal-tab-content">

<div class="vic-tab-pane vic-active" id="basics">
<form method="POST" action="{{path('victoire_blog_article_settings', {'id': article.id} )}}">
<div class="vic-form-group">
<div class="vic-col-lg-8">
<div class="vic-row">
<div class="vic-col-md-4">
{{ form_row(form.name) }}
{{ form_row(form.pattern) }}
<div class="vic-form-group">
<label for="victoire_article_settings_type_bodyClass" class="vic-control-label control-label vic-optional">
{{ 'form.page.type.slug.label'|trans({}, 'victoire') }}
</label>

<div class="vic-form-url-slug">
{{ form_widget(form.slug) }}
</div>
</div>

{{ form_row(form.image) }}
</div>
<div class="vic-col-lg-4">
{{ form_row(form.status) }}
<div class="vic-form-group">
<div class="publication-date-container{{ form.vars.value.status != constant('Victoire\\Bundle\\BlogBundle\\Entity\\Article::SCHEDULED') ? ' vic-hidden' }}">
{{ form_widget(form.publishedAt) }}

<div class="vic-col-md-8">
<div class="vic-row">
<div class="vic-col-md-6">
{{ form_row(form.pattern) }}
</div>

<div class="vic-col-md-6">
{{ form_row(form.status) }}
</div>

<div class="vic-col-md-6">
<div class="vic-form-group">
<label for="victoire_article_settings_type_bodyClass">
{{ 'form.page.type.slug.label'|trans({}, 'victoire') }}
</label>

{{ form_widget(form.slug) }}
</div>
</div>

<div class="vic-col-md-6">
{{ form_row(form.visibleOnFront) }}
</div>

<div class="vic-col-md-6" id="vic-blog-article-setting-description">
{{ form_row(form.description) }}
</div>

<div class="vic-col-md-6">
{{ form_row(form.category) }}

{{ form_row(form.tags) }}

<div class="vic-form-group">
<div class="publication-date-container{{ form.vars.value.status != constant('Victoire\\Bundle\\BlogBundle\\Entity\\Article::SCHEDULED') ? ' vic-hidden' }}">
{{ form_widget(form.publishedAt) }}
</div>
</div>
</div>

<div class="vic-col-md-6">
{{ form_rest(form) }}
</div>
</div>
</div>
</div>
{{ form_rest(form) }}
</form>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
<div class="vic-panelBlog-image" {% if article.image %}style="background-image: url({{ article.image.url }});"{% endif %}>
<span class="vic-panelBlog-badge -{{ article.status }}">
<span class="vic-panelBlog-badge-popover">
{{ 'modal.blog.list.articlesList.status.' ~ article.status |trans }}
{% set transKey = 'modal.blog.list.articlesList.status.' ~ article.status %}
{{ transKey |trans }}
</span>
</span>
</div>
Expand Down
78 changes: 49 additions & 29 deletions Bundle/BlogBundle/Resources/views/Blog/Tabs/_category.html.twig
Original file line number Diff line number Diff line change
@@ -1,26 +1,41 @@

{% trans_default_domain "victoire" %}

<div class="vic-tab-content vic-modal-tab-content">
<div class="vic-tab-pane vic-active" id="basics">
<form method="POST" id="victoire_blog_category_form" action="{{path('victoire_blog_category', {'id':blog.id} )}}">
<div class="vic-form-group">
<div class="blogCategories" data-prototype="{{ _self.widget_prototype(form.rootCategories.vars.prototype)|e }}" role="blogCategory" data-init="true" data-blog-category="0" data-index="0">
<ul class="vic-blogCategoryWidget-itemList" role="blogCategory-container">
<ul class="vic-cascade-list" id="blog-category-cascadeList" role="blogCategory-container">
{% for category in form.rootCategories %}
{{ _self.widget_prototype(category, loop.index0) }}
{{ _self.widget_prototype(category, loop.index0) }}
{% endfor %}
</ul>

<div class='vic-form-group vic-add_blogCategory_sibling-Container'>
<span><a href="#" onclick="addBlogCategoryRootItem(this);return false;" class="add_blogCategory_link vic-btn vic-btn-default add_blogCategory_sibling"><i class="fa fa-plus"></i> {{'victoire.blog.category.add.main.label'|trans}}</a></span>
{% spaceless %}
<span>
<a href="#" onclick="addBlogCategoryRootItem(this);return false;" class="add_blogCategory_link vic-btn vic-btn-default add_blogCategory_sibling">
<i class="fa fa-plus"></i> {{'victoire.blog.category.add.main.label'|trans}}
</a>
</span>
{% endspaceless %}
</div>
</div>
{{form_errors(form)}}
{# Add this line to set the widget as rendered to not display it twice in form_rest #}
{% do form.rootCategories.setRendered %}

{{ form_errors(form) }}

{# Add this line to set the widget as rendered to not display it twice in form_rest #}
{% do form.rootCategories.setRendered %}
</div>

{{ form_rest(form) }}

<button type="submit" href="#" class="vic-btn vic-btn-success" title="{{ ('modal.button.category.title')|trans({}, 'victoire') }}"><i class="fa fa-check-circle"></i> {{ ('modal.button.category.title')|trans({}, 'victoire') }}</submit>
{% spaceless %}
<button type="submit" href="#" class="vic-btn vic-btn-success vic-pull-right" title="{{ ('modal.button.category.title')|trans({}, 'victoire') }}">
<i class="fa fa-check-circle"></i>
{{ ('modal.button.category.title')|trans({}, 'victoire') }}
</button>
{% endspaceless %}
</form>
</div>
</div>
Expand All @@ -33,6 +48,7 @@
//for the existing blogCategories, we generate the js blogCategories
initBlogCategories();
});

$vic('#victoire_blog_category_type_status').on('change', function(){
if ($vic(this).val() == '{{ constant('Victoire\\Bundle\\PageBundle\\Entity\\PageStatus::SCHEDULED') }}') {
$vic('.publication-date-container').removeClass('vic-hidden');
Expand All @@ -48,32 +64,36 @@
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}


{% macro widget_prototype(form, index) %}
<li class='vic-form-group vic-blogcategoryWidget-item-formGroup' role="blogCategory" data-index="{{ index is not null ? index : '__blogCategory_index__' }}" data-blog-category="__blogCategory_id__" data-init="false">
{{ _self.category_render_form(form) }}
<span class='add_blogCategory_link-container'>
<span><a href="#" onclick="addBlogCategoryRow(this);return false;" class="vic-btn vic-blogCategoryWidget-btn vic-btn-default add_blogCategory_link"><i class="fa fa-plus"></i> {{'victoire.blog.category.add.sub.label'|trans}}</a></span>
</span>
<ul class="vic-blogCategoryWidget-itemList" role="blogCategory-container">
{% if form.children is defined %}
{% for category in form.children %}
{% if category.title is defined %}
{{ _self.widget_prototype(category, loop.index0) }}
{% endif %}
{% endfor %}
{% endif %}
</ul>
</li>
<li class='vic-item vic-blogcategoryWidget-item-formGroup' role="blogCategory" data-index="{{ index is not null ? index : '__blogCategory_index__' }}" data-blog-category="__blogCategory_id__" data-init="false">
{{ _self.category_render_form(form) }}

{% spaceless %}
<span class='add_blogCategory_link-container'>
<a href="#" onclick="addBlogCategoryRow(this);return false;" class="vic-btn -square vic-blogCategoryWidget-btn vic-btn-default add_blogCategory_link">
<i class="fa fa-level-up fa-rotate-90"></i>
</a>
</span>
{% endspaceless %}

<ul class="vic-cascade-sublist" role="blogCategory-container">
{% if form.children is defined %}
{% for category in form.children %}
{% if category.title is defined %}
{{ _self.widget_prototype(category, loop.index0) }}
{% endif %}
{% endfor %}
{% endif %}
</ul>
</li>
{% endmacro %}

{% macro category_render_form(form) %}

{{ form_widget(form.title, {'attr': {'placeholder': form.title.vars.label}, 'required' : true}) }}
<span>
<a onclick="deleteBlogCategoryRow(this);return false;" href="#" class="vic-btn vic-btn-danger vic-blogCategoryWidget-btn vic-blogCategoryWidget-deleteRow vic-btn" ><i class="fa fa-trash-o"></i></a>
</span>

{% endmacro %}
{% spaceless %}
<a onclick="deleteBlogCategoryRow(this);return false;" href="#" class="vic-btn -square -framed vic-btn-danger vic-blogCategoryWidget-btn vic-blogCategoryWidget-deleteRow">
<i class="fa fa-trash-o"></i>
</a>
{% endspaceless %}
{% endmacro %}
52 changes: 39 additions & 13 deletions Bundle/BlogBundle/Resources/views/Blog/Tabs/_settings.html.twig
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

{% trans_default_domain "victoire" %}
{% form_theme form 'VictoireFormBundle:Form:fields.html.twig' %}

<div class="vic-tab-content vic-modal-tab-content">
{# Only display this business entity property list when related to a business entity #}
{% if blog.businessEntity is defined %}
Expand All @@ -8,38 +9,63 @@

<div class="vic-tab-pane vic-active" id="basics">
<form method="POST" id="victoire_blog_settings_form" action="{{path('victoire_blog_settings', {'id':blog.id} )}}">
<div class="vic-form-group">
<div class="vic-col-lg-8">
<div class="vic-row">
<div class="vic-col-md-offset-8 vic-col-md-4">
{{ form_row(form.status) }}
</div>
</div>

<div class="vic-row">
<div class="vic-col-md-6">
{{ form_row(form.name) }}
{{ form_row(form.parent) }}
</div>

<div class="vic-col-md-6">
{{ form_row(form.template) }}
</div>

<div class="vic-col-md-6">
<div class="vic-form-group">
<label for="victoire_blog_settings_type_bodyClass" class="vic-control-label control-label vic-optional">
<label for="victoire_blog_settings_type_bodyClass">
{{ 'form.blog.type.slug.label'|trans({}, 'victoire') }}
</label>

<div class="vic-form-url-slug">
{{ url('victoire_core_page_show', {'url' : blog.url })|replace({(blog.slug): ''}) }}
<div class="vic-form-url">
<div class="vic-url">
{{ url('victoire_core_page_show', {'url' : blog.url })|replace({(blog.slug): ''}) }}
</div>

{{ form_widget(form.slug) }}
</div>
</div>
</div>
<div class="vic-col-lg-4">
{{ form_row(form.status) }}

<div class="vic-col-md-6">
{{ form_row(form.locale) }}
</div>

<div class="vic-col-md-6">
{{ form_row(form.parent) }}
</div>

<div class="vic-col-md-6">
<div class="vic-form-group">
<div class="publication-date-container{{ form.vars.value.status != constant('Victoire\\Bundle\\PageBundle\\Entity\\PageStatus::SCHEDULED') ? ' vic-hidden' }}">
{{ form_widget(form.publishedAt) }}
</div>
</div>
</div>

{{form_errors(form)}}
{# Add this line to set the widget as rendered to not display it twice in form_rest #}
<div class="vic-col-md-6">
{{ form_errors(form) }}

{# Add this line to set the widget as rendered to not display it twice in form_rest #}
{{ form_rest(form) }}
</div>
</div>
{{ form_rest(form) }}

<button type="submit" href="#" class="vic-btn vic-btn-success" title="{{ ('modal.button.settings.title')|trans({}, 'victoire') }}"><i class="fa fa-check-circle"></i> {{ ('modal.button.settings.title')|trans({}, 'victoire') }}</submit>

<button type="submit" href="#" class="vic-btn vic-btn-success vic-pull-right" title="{{ ('modal.button.settings.title')|trans({}, 'victoire') }}"><i class="fa fa-check-circle"></i> {{ ('modal.button.settings.title')|trans({}, 'victoire') }}</submit>
</form>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions Bundle/CoreBundle/Resources/style/less/bricks/bricks.less
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@
@import 'vic-custom-select';
@import 'vic-alert';
@import 'vic-shadow';
@import 'vic-cascade-list';

@import '../parameters/parameters';
35 changes: 35 additions & 0 deletions Bundle/CoreBundle/Resources/style/less/bricks/vic-btn.less
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@
padding-left: @vicBtn_paddingHorizontal;
padding-right: @vicBtn_paddingHorizontal;
.box-sizing(border-box);


&.-square {
padding-left: 0;
padding-right: 0;
width: 40px;
height: 40px;
text-align: center;

.fa {
margin-right: 0;
}
}
}


Expand Down Expand Up @@ -132,4 +145,26 @@
line-height: 28px;
font-size: 14px;
line-height: 18px;
}


// Btn variant
// ===========

// Framed
// ------

.vic-btn-danger {
&.-framed {
color: @vic-btn-default-backgroundColor;
border-color: @vic-btn-default-backgroundColor;
background-color: transparent;

&:hover, &.hover, &.vic-hover, &.is-hover, &.-hover,
&:focus, &.focus, &.vic-focus, &.is-focus, &.-focus,
&:active, &.active, &.vic-active, &.is-active, &.-active, {
background-color: @vic-btn-default-backgroundColor;
color: @white;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
.vic-cascade-list {
overflow: hidden;
padding: 0;
margin-top: @cascadeList_gutterSize / 2 * -1;
margin-bottom: @cascadeList_gutterSize / 2 * -1;
margin-left: 0;
margin-right: 0;

.vic-item {
margin-left: @cascadeList_gutterSize / 2 * -1;
margin-right: @cascadeList_gutterSize / 2 * -1;

> * {
margin: @cascadeList_gutterSize / 2;
float: left;
}

> .vic-cascade-sublist {
margin: 0
}
}
}

.vic-cascade-sublist {
width: 100%;
padding-left: @cascadeSublist_paddingLeft;
}
Loading