aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjpl2017-02-08 17:54:48 +0100
committerjpl2017-02-08 17:54:48 +0100
commit2cfafe1c03e9ca1b18e16333d54b91d6e05922a3 (patch)
tree12e2edc578f95b5a29f17151631bff1595881668
parent4d29cd1e8dddce08731b7962491d864fdfe0f8f6 (diff)
downloadchouette-core-2cfafe1c03e9ca1b18e16333d54b91d6e05922a3.tar.bz2
Refs #2482: updating referentials#show with new layout
-rw-r--r--app/assets/stylesheets/components/_buttons.sass13
-rw-r--r--app/assets/stylesheets/components/_main_nav.sass1
-rw-r--r--app/assets/stylesheets/components/_page_header.sass30
-rw-r--r--app/controllers/referentials_controller.rb4
-rw-r--r--app/helpers/pagination_helper.rb3
-rw-r--r--app/views/layouts/navigation/_main_nav_left.html.slim4
-rw-r--r--app/views/referentials/_reflines.html.slim16
-rw-r--r--app/views/referentials/show.html.slim166
-rw-r--r--config/locales/actions.en.yml1
-rw-r--r--config/locales/actions.fr.yml1
-rw-r--r--config/locales/referentials.en.yml1
-rw-r--r--config/locales/referentials.fr.yml1
-rw-r--r--config/locales/will_paginate.en.yml1
-rw-r--r--config/locales/will_paginate.fr.yml1
14 files changed, 160 insertions, 83 deletions
diff --git a/app/assets/stylesheets/components/_buttons.sass b/app/assets/stylesheets/components/_buttons.sass
index b57a15994..ac367ded5 100644
--- a/app/assets/stylesheets/components/_buttons.sass
+++ b/app/assets/stylesheets/components/_buttons.sass
@@ -3,6 +3,17 @@
//-----------//
.btn
+ font-weight: 700
+
+ &.btn-default
+ background-color: #fff
+ border-color: rgba(#fff, 0.5)
+ color: $blue
+
+ &:hover, &:focus, &.focus, &:active, &.active,
+ .open > .btn-primary.dropdown-toggle
+ background-color: darken(#fff, 2.5%)
+
&.btn-primary
background-color: $darkblue
border-color: darken($darkblue, 2.5%)
@@ -15,7 +26,7 @@
color: #fff
+ .btn
- margin-left: 12px
+ margin-left: 15px
// Table btn-groups
table, .table
diff --git a/app/assets/stylesheets/components/_main_nav.sass b/app/assets/stylesheets/components/_main_nav.sass
index fca6f7769..32a7617c1 100644
--- a/app/assets/stylesheets/components/_main_nav.sass
+++ b/app/assets/stylesheets/components/_main_nav.sass
@@ -286,6 +286,7 @@ $menuW: 300px
word-spacing: normal
text-rendering: auto
width: $menuW
+ min-height: $menuW
float: right
background-color: #fff
color: $darkgrey
diff --git a/app/assets/stylesheets/components/_page_header.sass b/app/assets/stylesheets/components/_page_header.sass
index 4fb4b02c3..2431e5d4d 100644
--- a/app/assets/stylesheets/components/_page_header.sass
+++ b/app/assets/stylesheets/components/_page_header.sass
@@ -36,4 +36,32 @@
line-height: $line-height
+ .btn
- margin-left: 10px
+ margin-left: 15px
+
+ .page_metalist
+ margin: 0 0 25px 0
+ padding: 0 0 0 65px
+ font-size: 0.85em
+
+ .pm-col
+ display: inline-block
+
+ + .pm-col
+ margin-left: 15px
+ padding-left: 15px
+ border-left: 1px solid rgba(#fff, 0.5)
+
+ .pm-item
+ margin-top: 0.5em
+
+ &:first-child
+ margin-top: 0
+
+ &::before
+ content: '\f054'
+ font: normal normal normal 14px/1 FontAwesome
+ font-size: inherit
+ text-rendering: auto
+ -webkit-font-smoothing: antialiased
+ display: inline
+ margin-right: 0.5em
diff --git a/app/controllers/referentials_controller.rb b/app/controllers/referentials_controller.rb
index 5ec4fc2cf..83a56b6e0 100644
--- a/app/controllers/referentials_controller.rb
+++ b/app/controllers/referentials_controller.rb
@@ -32,8 +32,8 @@ class ReferentialsController < BreadcrumbController
}
format.html { build_breadcrumb :show}
end
- @reflines = lines_collection.paginate(page: params[:page], per_page: 10)
- # resource.lines.paginate(page: params[:page], per_page: 10)
+ @q = lines_collection.ransack(params[:q])
+ @reflines = @q.result(distinct: true).paginate(page: params[:page], per_page: 10)
end
def edit
diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb
index e604d47c3..ea5902d63 100644
--- a/app/helpers/pagination_helper.rb
+++ b/app/helpers/pagination_helper.rb
@@ -20,7 +20,8 @@ module PaginationHelper
end
def new_pagination collection, cls = nil
- pinfos = page_entries_info collection, model: t("will_paginate.page_entries_info.#{collection.first.class.name.downcase}"), html: false
+ k = collection.first.class.name.split('::').last.downcase
+ pinfos = page_entries_info collection, model: t("will_paginate.page_entries_info.#{k}"), html: false
if collection.total_pages > 1
links = content_tag :div, '', class: 'page_links' do
diff --git a/app/views/layouts/navigation/_main_nav_left.html.slim b/app/views/layouts/navigation/_main_nav_left.html.slim
index 88491635f..d1ab41901 100644
--- a/app/views/layouts/navigation/_main_nav_left.html.slim
+++ b/app/views/layouts/navigation/_main_nav_left.html.slim
@@ -3,9 +3,7 @@
.menu-content
.closeMenu title='Fermer le menu'
- .brandname
- = "IBOO"
- small = "#{params[:controller]}, #{params[:action]}"
+ .brandname IBOO
#menu-items.panel-group
.menu-item.panel
diff --git a/app/views/referentials/_reflines.html.slim b/app/views/referentials/_reflines.html.slim
deleted file mode 100644
index 6b6396d3a..000000000
--- a/app/views/referentials/_reflines.html.slim
+++ /dev/null
@@ -1,16 +0,0 @@
-- if @reflines && @reflines.any?
- p
- strong Lignes :
-
- = table_builder @reflines,
- { 'Oid' => Proc.new { |n| n.objectid.local_id }, @reflines.human_attribute_name(:id) => 'id',
- @reflines.human_attribute_name(:number) => 'number', @reflines.human_attribute_name(:name) => 'name', @reflines.human_attribute_name(:network) => Proc.new { |n| n.try(:network).try(:name) }, @reflines.human_attribute_name(:company) => Proc.new { |n| n.try(:company).try(:name) } },
- [],
- [],
- 'table table-bordered'
-
- .text-center
- = will_paginate @reflines, container: false, renderer: BootstrapPagination::Rails
-
-- else
- = replacement_msg t('referential_lines.search_no_results')
diff --git a/app/views/referentials/show.html.slim b/app/views/referentials/show.html.slim
index 4826f9040..270cbd4d1 100644
--- a/app/views/referentials/show.html.slim
+++ b/app/views/referentials/show.html.slim
@@ -1,59 +1,107 @@
-h2
- = @referential.name
- em.small = " (archivé)" if @referential.archived?
-
-.summary
- - if @referential.created_from
- p
- label = "#{Referential.human_attribute_name('created_from')} : "
- = " #{@referential.created_from.name}"
-
- p
- label = "#{Referential.human_attribute_name('slug')} : "
- = " #{@referential.slug}"
-
- p
- label = "#{Referential.human_attribute_name('prefix')} : "
- = " #{@referential.prefix}"
-
- p
- label = "#{Referential.human_attribute_name('projection_type')} : "
- - if !@referential.projection_type_label.empty?
- = " #{@referential.projection_type_label} (epsg:#{@referential.projection_type})"
-
- p
- label = "#{Referential.human_attribute_name('time_zone').capitalize} : "
- = " #{@referential.time_zone}"
-
- p
- label = "#{Referential.human_attribute_name('validity_period')} : "
- - unless period = @referential.metadatas_period
- = " #{Referential.human_attribute_name('no_validity_period')}"
- - else
- => " #{Referential.human_attribute_name('start_validity_period')}"
- => l period.begin
- => Referential.human_attribute_name("end_validity_period")
- = l period.end
-
- #reflines
- = render partial: 'reflines'
-
- / - if @referential.api_keys.present?
- / h3.api_keys = t('.api_keys')
- /
- / .api_keys.paginated_content
- / = paginated_content(@referential.api_keys, "api_keys/api_key")
-
-- content_for :sidebar do
- ul.actions
- - if policy(@referential).update?
- li = link_to t('referentials.actions.edit'), edit_referential_path(@referential), class: 'edit'
-
- li = link_to t('referentials.actions.destroy'), referential_path(@referential), method: :delete, data: {:confirm => t('referentials.actions.destroy_confirm')}, class: "remove"
- / li = link_to t('api_keys.actions.new'), new_referential_api_key_path(@referential), class: 'add'
- li = link_to t('referentials.actions.clone'), new_referential_path(from: @referential.id), class: 'add'
- br
-
- - if policy(@referential).update?
- h4 = t('.clean_up')
- == render 'clean'
+/ PageHeader
+= pageheader 'map-marker',
+ @referential.name,
+ 'Lorem ipsum dolor sit amet',
+ t('last_update', time: l(@referential.updated_at, format: :short)),
+ link_to(t('actions.edit'), edit_referential_path(@referential), class: 'btn btn-default') do
+
+ / Below is secundary actions & optional contents (filters, ...)
+ .row
+ .col-lg-12.text-right
+ / Actions are: controler, rapport de controle, dupliquer, purger, conserver, supprimer
+ = link_to t('actions.clone'), new_referential_path(from: @referential.id), class: 'btn btn-primary'
+
+ - if @referential.archived?
+ = link_to t('actions.unarchive'), unarchive_referential_path(@referential.id), class: 'btn btn-primary'
+ - else
+ = link_to t('actions.archive'), archive_referential_path(@referential.id), class: 'btn btn-primary'
+
+ = link_to t('actions.destroy'), referential_path(@referential), method: :delete, data: {confirm: t('referentials.actions.destroy_confirm')}, class: 'btn btn-primary'
+
+ .row.mt-xs
+ .col-lg-12
+ .page_metalist
+ .pm-col
+ .pm-item
+ strong = "#{@referential.human_attribute_name(:validity_period)} : "
+ = t('validity_range', debut: l(@referential.try(:validity_period).try(:begin), format: :short), end: l(@referential.try(:validity_period).try(:end), format: :short))
+
+ .pm-item
+ strong = "Organisation : "
+ = @referential.organisation.name
+
+ .pm-col
+ .pm-item
+ strong = "#{@referential.human_attribute_name(:published_at)} : "
+ = ""
+
+ .pm-item
+ strong = "#{@referential.human_attribute_name(:archived_at)} : "
+ = l(@referential.archived_at, format: :short) if @referential.archived?
+
+ .row.mt-xs
+ .col-lg-5.col-md-6.col-sm-6.col-xs-8
+ = search_form_for @q, url: referential_path(@referential.id), html: { method: :get, class: 'form'} do |f|
+ .input-group.search_bar
+ = f.search_field :name_cont, class: 'form-control', placeholder: 'Indiquez un nom de ligne'
+
+ span.input-group-btn
+ button.btn.btn-default type='submit'
+ span.fa.fa-search
+
+ .row.mt-xs
+ .col-lg-12
+ = render 'filters'
+
+/ PageContent
+.page_content
+ .container-fluid
+ .row
+ .col-lg-12
+ - if @reflines.any?
+ = new_pagination @reflines, 'pull-right'
+
+ = table_builder @reflines,
+ { 'Oid' => Proc.new { |n| n.objectid.local_id }, @reflines.human_attribute_name(:id) => 'id',
+ @reflines.human_attribute_name(:number) => 'number', @reflines.human_attribute_name(:name) => 'name', @reflines.human_attribute_name(:network) => Proc.new { |n| n.try(:network).try(:name) }, @reflines.human_attribute_name(:company) => Proc.new { |n| n.try(:company).try(:name) } },
+ [],
+ [],
+ 'table'
+
+ = new_pagination @reflines, 'pull-right'
+
+ - else
+ = replacement_msg t('referential_lines.search_no_results')
+
+ / - if @referential.created_from
+ / p
+ / label = "#{Referential.human_attribute_name('created_from')} : "
+ / = " #{@referential.created_from.name}"
+ /
+ / p
+ / label = "#{Referential.human_attribute_name('slug')} : "
+ / = " #{@referential.slug}"
+ /
+ / p
+ / label = "#{Referential.human_attribute_name('prefix')} : "
+ / = " #{@referential.prefix}"
+ /
+ / p
+ / label = "#{Referential.human_attribute_name('projection_type')} : "
+ / - if !@referential.projection_type_label.empty?
+ / = " #{@referential.projection_type_label} (epsg:#{@referential.projection_type})"
+ /
+ / p
+ / label = "#{Referential.human_attribute_name('time_zone').capitalize} : "
+ / = " #{@referential.time_zone}"
+
+ / - if @referential.api_keys.present?
+ / h3.api_keys = t('.api_keys')
+ /
+ / .api_keys.paginated_content
+ / = paginated_content(@referential.api_keys, "api_keys/api_key")
+
+ - content_for :sidebar do
+ - if policy(@referential).update?
+ h4 = t('.clean_up')
+ == render 'clean'
diff --git a/config/locales/actions.en.yml b/config/locales/actions.en.yml
index f39d6c586..6c9c4c1e0 100644
--- a/config/locales/actions.en.yml
+++ b/config/locales/actions.en.yml
@@ -8,6 +8,7 @@ en:
show: "See"
archive: "Archive"
unarchive: "Unarchive"
+ clone: 'Clone'
or: "or"
cancel: "Cancel"
search_hint: "Type in a search term"
diff --git a/config/locales/actions.fr.yml b/config/locales/actions.fr.yml
index d49c4ef20..d9ec7def5 100644
--- a/config/locales/actions.fr.yml
+++ b/config/locales/actions.fr.yml
@@ -8,6 +8,7 @@ fr:
show: 'Consulter'
archive: 'Conserver'
unarchive: 'Déconserver'
+ clone: 'Dupliquer'
or: "ou"
cancel: "Annuler"
search_hint: "Entrez un texte à rechercher"
diff --git a/config/locales/referentials.en.yml b/config/locales/referentials.en.yml
index 14c7e4d0a..c9fb02ecd 100644
--- a/config/locales/referentials.en.yml
+++ b/config/locales/referentials.en.yml
@@ -83,6 +83,7 @@ en:
validity_period: "Validity period"
updated_at: "Updated"
published_at: "Integrated"
+ archived_at: "Archived"
formtastic:
titles:
referential:
diff --git a/config/locales/referentials.fr.yml b/config/locales/referentials.fr.yml
index f0b6f4924..2eee9fafa 100644
--- a/config/locales/referentials.fr.yml
+++ b/config/locales/referentials.fr.yml
@@ -83,6 +83,7 @@ fr:
validity_period: "Période de validité englobante"
updated_at: "Modifié"
published_at: "Intégré"
+ archived_at: "Conservé"
formtastic:
titles:
referential:
diff --git a/config/locales/will_paginate.en.yml b/config/locales/will_paginate.en.yml
index 52cba8685..0e189ebae 100644
--- a/config/locales/will_paginate.en.yml
+++ b/config/locales/will_paginate.en.yml
@@ -20,3 +20,4 @@ en:
multi_page_html: "%{model} %{from} to %{to} of %{count}"
referential: 'data spaces'
+ line: 'lines'
diff --git a/config/locales/will_paginate.fr.yml b/config/locales/will_paginate.fr.yml
index 4f8bc4895..3a22176f9 100644
--- a/config/locales/will_paginate.fr.yml
+++ b/config/locales/will_paginate.fr.yml
@@ -20,3 +20,4 @@ fr:
multi_page_html: "Liste des %{model} %{from}&nbsp;à&nbsp;%{to} sur %{count}"
referential: 'jeux de données'
+ line: 'lignes'