diff --git a/README.md b/README.md index ad4febe6..cf544c7b 100644 --- a/README.md +++ b/README.md @@ -37,3 +37,4 @@ License GPL version 3 or later, please see [LICENSE](LICENSE.md) for the full text. +Thanks to [Icons8](http://icons8.com/) for letting us use their icons. diff --git a/app/assets/images/role-admin.png b/app/assets/images/role-admin.png new file mode 100644 index 00000000..445c2634 Binary files /dev/null and b/app/assets/images/role-admin.png differ diff --git a/app/assets/images/role-article_meta.png b/app/assets/images/role-article_meta.png new file mode 100644 index 00000000..3a3a9c8a Binary files /dev/null and b/app/assets/images/role-article_meta.png differ diff --git a/app/assets/images/role-finance.png b/app/assets/images/role-finance.png new file mode 100644 index 00000000..05722a8e Binary files /dev/null and b/app/assets/images/role-finance.png differ diff --git a/app/assets/images/role-orders.png b/app/assets/images/role-orders.png new file mode 100644 index 00000000..f5ed908c Binary files /dev/null and b/app/assets/images/role-orders.png differ diff --git a/app/assets/images/role-suppliers.png b/app/assets/images/role-suppliers.png new file mode 100644 index 00000000..550b77b5 Binary files /dev/null and b/app/assets/images/role-suppliers.png differ diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 07fd4187..8b8cd618 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -18,7 +18,7 @@ module ApplicationHelper def format_datetime_timespec(time, format) I18n.l(time, :format => format) unless (time.nil? || format.nil?) end - + # Creates ajax-controlled-links for pagination def pagination_links_remote(collection, options = {}) per_page = options[:per_page] || @per_page @@ -26,7 +26,7 @@ module ApplicationHelper params = params.merge({:per_page => per_page}) paginate collection, :params => params, :remote => true end - + # Link-collection for per_page-options when using the pagination-plugin def items_per_page(options = {}) per_page_options = options[:per_page_options] || [20, 50, 100, 500] @@ -98,20 +98,20 @@ module ApplicationHelper end s end - + # Generates a link to the top of the website def link_to_top link_to '#' do content_tag :i, nil, class: 'icon-arrow-up icon-large' end end - + # Returns the weekday. 0 is sunday, 1 is monday and so on def weekday(dayNumber) weekdays = I18n.t('date.day_names') return weekdays[dayNumber] end - + # to set a title for both the h1-tag and the title in the header def title(page_title, show_title = true) content_for(:title) { page_title.to_s } @@ -135,7 +135,7 @@ module ApplicationHelper options[:alt] ||= icons[name][:alt] options[:title] ||= icons[name][:title] options.merge!({:size => '16x16',:border => "0"}) - + image_tag icons[name][:file], options end @@ -149,21 +149,22 @@ module ApplicationHelper link_to(text, options[:url], remote_options.merge(options)) end - def format_roles(record) - roles = [] - roles << I18n.t('helpers.application.role_admin') if record.role_admin? - roles << I18n.t('helpers.application.role_finance') if record.role_finance? - roles << I18n.t('helpers.application.role_suppliers') if record.role_suppliers? - roles << I18n.t('helpers.application.role_article_meta') if record.role_article_meta? - roles << I18n.t('helpers.application.role_orders') if record.role_orders? - roles.join(', ') + def format_roles(record, icon=false) + roles = %w(suppliers article_meta orders finance admin) + roles.select! {|role| record.send "role_#{role}?"} + names = Hash[roles.map{|r| [r, I18n.t("helpers.application.role_#{r}")]}] + if icon + roles.map{|r| image_tag("role-#{r}.png", size: '22x22', border: 0, alt: names[r], title: names[r])}.join(' ').html_safe + else + roles.map{|r| names[r]}.join(', ') + end end def link_to_gmaps(address) link_to h(address), "http://maps.google.com/?q=#{h(address)}", :title => I18n.t('helpers.application.show_google_maps'), :target => "_blank" end - + # Returns flash messages html. # # Use this instead of twitter-bootstrap's +bootstrap_flash+ method for safety, until @@ -183,7 +184,7 @@ module ApplicationHelper end flash_messages.join("\n").html_safe end - + # render base errors in a form after failed validation # http://railsapps.github.io/twitter-bootstrap-rails.html def base_errors resource @@ -244,5 +245,5 @@ module ApplicationHelper stylesheet_link_tag foodcoop_css_path, media: 'all' end end - + end diff --git a/app/views/admin/users/_users.html.haml b/app/views/admin/users/_users.html.haml index 412ef932..9a4ba433 100644 --- a/app/views/admin/users/_users.html.haml +++ b/app/views/admin/users/_users.html.haml @@ -18,7 +18,7 @@ - if FoodsoftConfig[:use_nick] %td= user.name %td= user.email - %td= format_roles(user) + %td= format_roles(user, true) %td= format_time(user.last_activity) %td= link_to t('ui.edit'), edit_admin_user_path(user), class: 'btn btn-mini' %td= link_to t('ui.delete'), [:admin, user], :data => {:confirm => t('admin.confirm', name: user.name)}, diff --git a/app/views/admin/workgroups/_form.html.haml b/app/views/admin/workgroups/_form.html.haml index 02427f35..3832e380 100644 --- a/app/views/admin/workgroups/_form.html.haml +++ b/app/views/admin/workgroups/_form.html.haml @@ -2,11 +2,11 @@ = simple_form_for [:admin, @workgroup] do |f| - captured = capture do %h4= t 'admin.access_to' - = f.input :role_admin - = f.input :role_finance = f.input :role_suppliers = f.input :role_article_meta = f.input :role_orders + = f.input :role_finance + = f.input :role_admin = render 'shared/group_form_fields', :f => f, captured: captured .form-actions = f.button :submit