Merge remote-tracking branch 'upstream/master' into multiple-recurring-tasks
Conflicts: config/locales/de.yml
This commit is contained in:
commit
46b07a6136
257 changed files with 5408 additions and 1931 deletions
|
|
@ -1,43 +1,43 @@
|
|||
- title "Administration"
|
||||
- title t '.title'
|
||||
|
||||
%p
|
||||
%i Hier kannst Du die Gruppen und Benutzerinnen der Foodsoft verwalten.
|
||||
%i= t '.first_paragraph'
|
||||
.row-fluid
|
||||
.span6
|
||||
%section
|
||||
%h2 Neuste Benutzerinnen
|
||||
%h2= t '.newest_users'
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Benutzername
|
||||
%th Name
|
||||
%th Erstellt am
|
||||
%th= t '.username'
|
||||
%th= t '.name'
|
||||
%th= t '.created_at'
|
||||
- for user in @users
|
||||
%tr{:class => cycle('even','odd', :name => 'users')}
|
||||
%td= link_to user.nick, [:admin, user]
|
||||
%td=h user.name
|
||||
%td= format_date(user.created_on)
|
||||
= link_to 'Alle Benutzerinnen', admin_users_path
|
||||
= link_to t('.all_users'), admin_users_path
|
||||
|
|
||||
= link_to "Neue Benutzerin", new_admin_user_path, class: 'btn btn-primary btn-small'
|
||||
= link_to t('.new_user'), new_admin_user_path, class: 'btn btn-primary btn-small'
|
||||
.span6
|
||||
%section
|
||||
%h2 Neuste Gruppen
|
||||
%h2= t '.newest_groups'
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Gruppenname
|
||||
%th Typ
|
||||
%th Mitglieder
|
||||
%th= t '.groupname'
|
||||
%th= t '.type'
|
||||
%th= t '.members'
|
||||
- for group in @groups
|
||||
%tr{:class => cycle('even','odd', :name => 'groups')}
|
||||
%td= link_to group.name, [:admin, group]
|
||||
%td= group.class.model_name.human
|
||||
%td= group.users.size
|
||||
= link_to 'Alle Bestellgruppen', admin_ordergroups_path
|
||||
= link_to t('.all_ordergroups'), admin_ordergroups_path
|
||||
|
|
||||
= link_to "Neue Bestellgruppe", new_admin_ordergroup_path, class: 'btn btn-primary btn-small'
|
||||
= link_to t('.new_ordergroup'), new_admin_ordergroup_path, class: 'btn btn-primary btn-small'
|
||||
|
|
||||
= link_to 'Alle Arbeitsgruppen', admin_workgroups_path
|
||||
= link_to t('.all_workgroups'), admin_workgroups_path
|
||||
|
|
||||
= link_to "Neue Arbeitsgruppe", new_admin_workgroup_path, class: 'btn btn-primary btn-small'
|
||||
= link_to t('.new_workgroup'), new_admin_workgroup_path, class: 'btn btn-primary btn-small'
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
- unless @ordergroup.new_record?
|
||||
%p
|
||||
Neue Mitglieder kannst du
|
||||
= link_to "hier", new_invite_path(id: @ordergroup.id), remote: true
|
||||
einladen.
|
||||
%p= t('.first_paragraph', url: link_to(t('.here'), new_invite_path(id: @ordergroup.id), remote: true)).html_safe
|
||||
= simple_form_for [:admin, @ordergroup] do |f|
|
||||
= render :layout => 'shared/group_form_fields', :locals => {:f => f} do
|
||||
= f.input :contact_person
|
||||
|
|
@ -11,4 +8,4 @@
|
|||
= f.input :ignore_apple_restriction
|
||||
.form-actions
|
||||
= f.button :submit
|
||||
= link_to "oder abbrechen", :back
|
||||
= link_to t('ui.or_cancel'), :back
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th Kontakt
|
||||
%th Adresse
|
||||
%th Mitglieder
|
||||
%th Aktionen
|
||||
%th= t '.name'
|
||||
%th= t '.contact'
|
||||
%th= t '.address'
|
||||
%th= t '.members'
|
||||
%th= t 'admin.actions'
|
||||
%tbody
|
||||
- for ordergroup in @ordergroups
|
||||
%tr{:class => cycle('even','odd', :name => 'groups')}
|
||||
|
|
@ -17,6 +17,6 @@
|
|||
%td= link_to_gmaps ordergroup.contact_address
|
||||
%td= ordergroup.users.size
|
||||
%td
|
||||
= link_to "Bearbeiten", edit_admin_ordergroup_path(ordergroup), class: 'btn btn-mini'
|
||||
= link_to "Löschen", [:admin, ordergroup], :confirm => "Willst du #{ordergroup.name} wirklich löschen?",
|
||||
:method => :delete, class: 'btn btn-mini btn-danger'
|
||||
= link_to t('ui.edit'), edit_admin_ordergroup_path(ordergroup), class: 'btn btn-mini'
|
||||
= link_to t('ui.delete'), [:admin, ordergroup], :confirm => t('admin.confirm', name: ordergroup.name),
|
||||
:method => :delete, class: 'btn btn-mini btn-danger'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Bestellgruppe bearbeiten"
|
||||
- title t '.title'
|
||||
|
||||
= render :partial => 'form'
|
||||
= render 'form'
|
||||
|
|
@ -1,25 +1,15 @@
|
|||
- title "Bestellgruppen"
|
||||
- title t('.title')
|
||||
|
||||
- content_for :actionbar do
|
||||
= link_to "Neue Bestellgruppe anlegen", new_admin_ordergroup_path, class: 'btn btn-primary'
|
||||
= link_to t('.new_ordergroup'), new_admin_ordergroup_path, class: 'btn btn-primary'
|
||||
|
||||
- content_for :sidebar do
|
||||
%p
|
||||
Hier kannst du
|
||||
= link_to 'neue Bestellgruppen', new_admin_ordergroup_path
|
||||
anlegen, Gruppen bearbeiten und löschen.
|
||||
%p
|
||||
Beachte dabei den <em>Unterschied zwischen Gruppe und Bestellgruppe</em>:
|
||||
Eine Bestellgruppe hat ein Konto und kann Essen bestellen. In einer
|
||||
%em= link_to 'Arbeitsgruppe', admin_workgroups_path
|
||||
(z.b. 'Soritiergruppe')
|
||||
koordinieren sich die Mitglieder mittels Aufgaben und Nachrichten.
|
||||
Nutzer_innen können immer nur einer Bestellgruppe, aber beliebig vielen anderen Gruppen angehören.
|
||||
|
||||
%p= t('.first_paragraph', url: link_to(t('.new_ordergroups'), new_admin_ordergroup_path)).html_safe
|
||||
%p= t('.second_paragraph', url: link_to(t('.workgroup'), admin_workgroups_path)).html_safe
|
||||
.well.well-small
|
||||
= form_tag admin_ordergroups_path, :method => :get, :remote => true,
|
||||
'data-submit-onchange' => true, class: 'form-search' do
|
||||
= text_field_tag :query, params[:query], class: 'input-medium search-query',
|
||||
placeholder: 'Name ...'
|
||||
placeholder: t('admin.search_placeholder')
|
||||
#ordergroups
|
||||
= render "ordergroups"
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Bestellgruppe anlegen"
|
||||
- title t '.title'
|
||||
|
||||
= render 'form'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
- title "Bestellgruppe #{@ordergroup.name}"
|
||||
- title t '.title', name: @ordergroup.name
|
||||
|
||||
%section= render 'shared/group', group: @ordergroup
|
||||
= link_to 'Gruppe/Mitglieder bearbeiten', edit_admin_ordergroup_path(@ordergroup), class: 'btn'
|
||||
= link_to 'Löschen', [:admin, @ordergroup], :confirm => 'Bist Du sicher?', :method => :delete, class: 'btn btn-danger'
|
||||
= link_to 'Nachricht senden', new_message_path(:message => {:group_id => @ordergroup.id}), class: 'btn'
|
||||
= link_to t('ui.edit'), edit_admin_ordergroup_path(@ordergroup), class: 'btn'
|
||||
= link_to t('ui.delete'), [:admin, @ordergroup], :confirm => t('.confirm'), :method => :delete, class: 'btn btn-danger'
|
||||
= link_to t('.send_message'), new_message_path(:message => {:group_id => @ordergroup.id}), class: 'btn'
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
= simple_form_for([:admin, @user]) do |f|
|
||||
= render :partial => 'shared/user_form_fields', :locals => {:f => f}
|
||||
= render 'shared/user_form_fields', f: f
|
||||
.form-actions
|
||||
= f.submit
|
||||
= link_to 'oder abbrechen', :back
|
||||
= link_to t('ui.or_cancel'), :back
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Login
|
||||
%th Name
|
||||
%th Email
|
||||
%th Zugriff auf
|
||||
%th Letzter login
|
||||
%th(colspan="2") Aktionen
|
||||
%th= t '.login'
|
||||
%th= t '.name'
|
||||
%th= t '.email'
|
||||
%th= t 'admin.access_to'
|
||||
%th= t '.last_login'
|
||||
%th(colspan="2")= t 'admin.actions'
|
||||
%tbody
|
||||
- for user in @users
|
||||
%tr
|
||||
|
|
@ -18,6 +18,6 @@
|
|||
%td= user.email
|
||||
%td= format_roles(user)
|
||||
%td= format_time(user.last_login)
|
||||
%td= link_to 'Bearbeiten', edit_admin_user_path(user), class: 'btn btn-mini'
|
||||
%td= link_to 'Löschen', [:admin, user], :confirm => "Willst du #{user.name} wirklich löschen?",
|
||||
%td= link_to t('ui.edit'), edit_admin_user_path(user), class: 'btn btn-mini'
|
||||
%td= link_to t('ui.delete'), [:admin, user], :confirm => t('admin.confirm', name: user.name),
|
||||
:method => :delete, class: 'btn btn-danger btn-mini'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Benutzerin bearbeiten"
|
||||
- title t '.title'
|
||||
|
||||
= render 'form'
|
||||
|
|
|
|||
|
|
@ -1,18 +1,16 @@
|
|||
- title "Admin/Benutzerinnen"
|
||||
- title t '.title'
|
||||
|
||||
- content_for :actionbar do
|
||||
= link_to 'Neue Benutzerin anlegen', new_admin_user_path, class: 'btn btn-primary'
|
||||
= link_to t('.new_user'), new_admin_user_path, class: 'btn btn-primary'
|
||||
|
||||
- content_for :sidebar do
|
||||
%p
|
||||
Hier kannst du Benutzer_innen #{link_to 'neu Anlegen', new_admin_user_path},
|
||||
bearbeiten und natürlich auch löschen.
|
||||
%p= t('.first_paragraph', url: link_to(t('.new_users'), new_admin_user_path)).html_safe
|
||||
|
||||
.well.well-small
|
||||
= form_tag admin_users_path, :method => :get, :remote => true,
|
||||
'data-submit-onchange' => true, class: 'form-search' do
|
||||
= text_field_tag :user_name, params[:user_name], class: 'input-medium search-query',
|
||||
placeholder: 'Name ...'
|
||||
placeholder: t('admin.search_placeholder')
|
||||
|
||||
#users
|
||||
= render "users"
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Neue Benutzerin anlegen"
|
||||
- title t '.title'
|
||||
|
||||
= render 'form'
|
||||
|
|
@ -3,37 +3,37 @@
|
|||
.row-fluid
|
||||
.span3
|
||||
.well
|
||||
%h4 Person
|
||||
%p Mitglied seit #{distance_of_time_in_words(Time.now, @user.created_on)}
|
||||
%h4= t '.person'
|
||||
%p= t '.member_since', time: distance_of_time_in_words(Time.now, @user.created_on)
|
||||
%dl
|
||||
%dt Nick
|
||||
%dt= t '.nick'
|
||||
%dd= @user.nick
|
||||
%dt Name
|
||||
%dt= t '.name'
|
||||
%dd= h @user.name
|
||||
%dt Email
|
||||
%dt= t '.email'
|
||||
%dd= @user.email
|
||||
%dt Telefon
|
||||
%dt= t '.phone'
|
||||
%dd= @user.phone
|
||||
%dt Zugriff auf
|
||||
%dt= t 'admin.access_to'
|
||||
%dd= format_roles(@user)
|
||||
.span5
|
||||
.well
|
||||
%h4 Einstellungen
|
||||
%h4= t '.preference'
|
||||
%table.table
|
||||
- for setting in User::setting_keys.keys
|
||||
%tr
|
||||
%td= User::setting_keys[setting]
|
||||
%td= @user.settings[setting] == '1' ? 'ja' : 'nein'
|
||||
%td= @user.settings[setting] == '1' ? t('simple_form.yes') : t('simple_form.no')
|
||||
.span3
|
||||
.well
|
||||
%h4 Gruppenabos
|
||||
%h4= t '.groupabos'
|
||||
%ul.unstyled
|
||||
- for membership in Membership.find_all_by_user_id(@user.id)
|
||||
%li= link_to(membership.group.name, [:admin, membership.group])
|
||||
|
||||
%hr/
|
||||
%p
|
||||
= link_to 'Bearbeiten', edit_admin_user_path(@user), class: 'btn'
|
||||
= link_to 'Löschen', [:admin, @user], :confirm => "Willst du #{@user.first_name} wirklich rausschmeißen?",
|
||||
= link_to t('ui.edit'), edit_admin_user_path(@user), class: 'btn'
|
||||
= link_to t('ui.delete'), [:admin, @user], :confirm => t('.confirm', user: @user.first_name),
|
||||
:method => :delete, class: 'btn btn-danger'
|
||||
= link_to "Nachricht senden", new_message_path(:message => {:mail_to => @user.id}), class: 'btn'
|
||||
= link_to t('.send_message'), new_message_path(:message => {:mail_to => @user.id}), class: 'btn'
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
%p
|
||||
Neue Mitglieder kannst du
|
||||
= link_to "hier", new_invite_path(id: @workgroup.id)
|
||||
einladen.
|
||||
%p= t('.first_paragraph', url: link_to(t('.here'), new_invite_path(id: @workgroup.id), remote: true)).html_safe
|
||||
= simple_form_for [:admin, @workgroup] do |f|
|
||||
= render :layout => 'shared/group_form_fields', :locals => {:f => f} do
|
||||
%h4 Zugriff auf
|
||||
%h4= t 'admin.access_to'
|
||||
= f.input :role_admin
|
||||
= f.input :role_finance
|
||||
= f.input :role_suppliers
|
||||
|
|
@ -12,4 +9,4 @@
|
|||
= f.input :role_orders
|
||||
.form-actions
|
||||
= f.button :submit
|
||||
= link_to "oder abbrechen", :back
|
||||
= link_to t('ui.or_cancel'), :back
|
||||
|
|
|
|||
|
|
@ -4,10 +4,10 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th Mitglieder
|
||||
%th Zugriff auf
|
||||
%th Aktionen
|
||||
%th= t '.name'
|
||||
%th= t '.members'
|
||||
%th= t 'admin.access_to'
|
||||
%th= t 'admin.actions'
|
||||
%tbody
|
||||
- for workgroup in @workgroups
|
||||
%tr
|
||||
|
|
@ -15,6 +15,6 @@
|
|||
%td= workgroup.users.size
|
||||
%td= format_roles(workgroup)
|
||||
%td
|
||||
= link_to "Bearbeiten", edit_admin_workgroup_path(workgroup), class: 'btn btn-mini'
|
||||
= link_to "Löschen", [:admin, workgroup], :confirm => 'Willst du ' + workgroup.name + ' wirklich löschen?',
|
||||
= link_to t('ui.edit'), edit_admin_workgroup_path(workgroup), class: 'btn btn-mini'
|
||||
= link_to t('ui.delete'), [:admin, workgroup], :confirm => t('admin.confirm', name: workgroup.name),
|
||||
:method => :delete, class: 'btn btn-mini btn-danger'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Arbeitsgruppe bearbeiten"
|
||||
- title t '.title'
|
||||
|
||||
= render 'form'
|
||||
|
|
@ -1,24 +1,15 @@
|
|||
- title "Arbeitsgruppen"
|
||||
- title t '.title'
|
||||
|
||||
- content_for :actionbar do
|
||||
= link_to "Neue Arbeitsgruppe anlegen", new_admin_workgroup_path, class: 'btn btn-primary'
|
||||
= link_to t('.new_workgroup'), new_admin_workgroup_path, class: 'btn btn-primary'
|
||||
|
||||
- content_for :sidebar do
|
||||
%p
|
||||
Hier kannst du
|
||||
= link_to 'neue Arbeitsgruppen', new_admin_workgroup_path
|
||||
anlegen, Gruppen bearbeiten und löschen.
|
||||
%p
|
||||
Beachte dabei den <strong>Unterschied zwischen Gruppe und Bestellgruppe</strong>:
|
||||
Eine #{link_to 'Bestellgruppe', '/admin/ordergroups'}
|
||||
hat ein Konto und kann Essen bestellen. In einer Arbeitsgruppe (z.b. 'Soritiergruppe')
|
||||
koordinieren sich die Mitglieder mittels Aufgaben und Nachrichten.
|
||||
Nutzer_innen können immer nur einer Bestellgruppe, aber beliebig vielen anderen Gruppen angehören.
|
||||
|
||||
%p= t('.first_paragraph', url: link_to(t('.new_workgroups'), new_admin_workgroup_path)).html_safe
|
||||
%p= t('.second_paragraph', url: link_to(t('.ordergroup'), admin_ordergroups_path)).html_safe
|
||||
.well.well-small
|
||||
= form_tag admin_workgroups_path, :method => :get, :remote => true,
|
||||
'data-submit-onchange' => true, class: 'form-search' do
|
||||
= text_field_tag :query, params[:query], class: 'input-medium search-query',
|
||||
placeholder: 'Name ...'
|
||||
placeholder: t('admin.search_placeholder')
|
||||
#workgroups
|
||||
= render "workgroups"
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Arbeitsgruppe anlegen"
|
||||
- title t '.title'
|
||||
|
||||
= render 'form'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
- title "Arbeitsgruppe #{@workgroup.name}"
|
||||
- title t '.title', name: @workgroup.name
|
||||
|
||||
%section= render :partial => 'shared/group', :locals => { :group => @workgroup }
|
||||
= link_to 'Gruppe/Mitglieder bearbeiten', edit_admin_workgroup_path(@workgroup), class: 'btn'
|
||||
= link_to 'Löschen', [:admin, @workgroup], :confirm => 'Bist Du sicher?', :method => :delete, class: 'btn btn-danger'
|
||||
= link_to_new_message(message_params: {group_id: @workgroup.id})
|
||||
%section= render 'shared/group', group: @workgroup
|
||||
= link_to t('ui.edit'), edit_admin_workgroup_path(@workgroup), class: 'btn'
|
||||
= link_to t('ui.delete'), [:admin, @workgroup], :confirm => t('.confirm'), :method => :delete, class: 'btn btn-danger'
|
||||
= link_to_new_message(message_params: {group_id: @workgroup.id})
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
= f.input :description
|
||||
.form-actions
|
||||
= f.submit class: 'btn'
|
||||
= link_to 'oder abbrechen', article_categories_path
|
||||
= link_to t('ui.or_cancel'), article_categories_path
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Kategorie ändern"
|
||||
- title t('.title')
|
||||
|
||||
= render 'form'
|
||||
= render 'form'
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
- title "Artikelkategorien"
|
||||
- title t('.title')
|
||||
|
||||
%p= link_to "Neue Kategorie anlegen", new_article_category_path, class: 'btn btn-primary'
|
||||
%p= link_to t('.new'), new_article_category_path, class: 'btn btn-primary'
|
||||
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th Beschreibung
|
||||
%th= t('simple_form.labels.article_category.name')
|
||||
%th= t('simple_form.labels.article_category.description')
|
||||
%th
|
||||
%tbody
|
||||
- @article_categories.each do |article_category|
|
||||
|
|
@ -14,6 +14,6 @@
|
|||
%td= article_category.name
|
||||
%td= article_category.description
|
||||
%td
|
||||
= link_to "Bearbeiten", edit_article_category_path(article_category), class: 'btn btn-mini'
|
||||
= link_to "Löschen", article_category, :method => :delete, :confirm => 'Are you sure?',
|
||||
= link_to t('ui.edit'), edit_article_category_path(article_category), class: 'btn btn-mini'
|
||||
= link_to t('ui.delete'), article_category, :method => :delete, :confirm => t('.confirm_delete'),
|
||||
class: 'btn btn-mini btn-danger'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Neue Kategorie anlegen"
|
||||
- title t('.title')
|
||||
|
||||
= render 'form'
|
||||
= render 'form'
|
||||
|
|
|
|||
|
|
@ -7,11 +7,11 @@
|
|||
%td= truncate(article.note, :length => 11)
|
||||
%td= article.unit_quantity
|
||||
%td{:class => "currency"}
|
||||
%acronym{:title => "zuletzt geändert: #{format_date(article.updated_at)} | Brutto: #{number_to_currency(article.gross_price)}"}
|
||||
%acronym{:title => t('.last_update', last_update: format_date(article.updated_at), gross_price: number_to_currency(article.gross_price))}
|
||||
= number_to_currency(article.price)
|
||||
%td= number_to_percentage(article.tax) if article.tax != 0
|
||||
%td= number_to_currency(article.deposit) if article.deposit != 0
|
||||
%td= link_to "Bearbeiten", edit_supplier_article_path(@supplier, article),
|
||||
%td= link_to t('ui.edit'), edit_supplier_article_path(@supplier, article),
|
||||
:remote => true, class: 'btn btn-mini'
|
||||
%td= link_to "Löschen", [@supplier, article],
|
||||
:method => :delete, :confirm => 'Bist du sicher?', :remote => true, class: 'btn btn-mini btn-danger'
|
||||
%td= link_to t('ui.delete'), [@supplier, article],
|
||||
:method => :delete, :confirm => t('.confirm_delete'), :remote => true, class: 'btn btn-mini btn-danger'
|
||||
|
|
|
|||
|
|
@ -6,15 +6,16 @@
|
|||
%thead
|
||||
%tr
|
||||
%th
|
||||
%th= sort_link_helper "Name", "name"
|
||||
%th= sort_link_helper t('simple_form.labels.article.name'), "name"
|
||||
%th
|
||||
%th= sort_link_helper "Kategorie", "category"
|
||||
%th= sort_link_helper "Einheit", "unit"
|
||||
%th= sort_link_helper "Notiz", "note"
|
||||
%th{:style => "width: 4em;"} Gebgr.
|
||||
%th{:style => "width: 5em;"} Preis
|
||||
%th{:style => "width: 3.5em;"} MwSt
|
||||
%th{:style => "width: 4em;"} Pfand
|
||||
%th= sort_link_helper t('simple_form.labels.article.article_category'), "category"
|
||||
%th= sort_link_helper t('simple_form.labels.article.unit'), "unit"
|
||||
%th= sort_link_helper t('simple_form.labels.article.note'), "note"
|
||||
%th{:style => "width: 4em;"}
|
||||
%acronym{:title => t('.unit_quantity_desc')}= t '.unit_quantity_short'
|
||||
%th{:style => "width: 5em;"}= t '.price_netto'
|
||||
%th{:style => "width: 3.5em;"}= t 'simple_form.labels.defaults.tax'
|
||||
%th{:style => "width: 4em;"}= t 'simple_form.labels.defaults.deposit'
|
||||
%th{:style => "width: 3em;"}
|
||||
|
||||
%tbody#listbody
|
||||
|
|
@ -27,10 +28,10 @@
|
|||
%td{:colspan => '11'}
|
||||
= check_box_tag :checkall, 1, false, 'data-check-all' => '#articlesInListForm', 'data-ignore-onchange' => true
|
||||
%select{:name => "selected_action", 'data-submit-onchange' => true}
|
||||
%option{:value => '', :selected => 'selected'} Aktion wählen ...
|
||||
%option{:value => "destroy", 'data-confirm' => 'Willst Du wirklich alle gewählten Artikel löschen?'} Artikel löschen
|
||||
%option{:value => "setNotAvailable"} Artikel sind nicht mehr verfügbar
|
||||
%option{:value => "setAvailable"} Artikel sind verfügbar
|
||||
%option{:value => '', :selected => 'selected'}= t '.option_select'
|
||||
%option{:value => "destroy", 'data-confirm' => t('.confirm_delete')}= t '.option_delete'
|
||||
%option{:value => "setNotAvailable"}= t '.option_not_available'
|
||||
%option{:value => "setAvailable"}= t '.option_available'
|
||||
= hidden_field_tag 'supplier_id', @supplier.id
|
||||
|
||||
= pagination_links_remote @articles
|
||||
= pagination_links_remote @articles
|
||||
|
|
|
|||
|
|
@ -1,7 +1,3 @@
|
|||
%tr.edit_inline{:id=> "edit_"+@article.id.to_s}
|
||||
%td{:colspan=>"10"}
|
||||
=h @article.name
|
||||
wird in laufenden Bestellungen verwendet und kann nicht gelöscht werden.
|
||||
Bitte zuerst den Artikel aus den Bestellungen
|
||||
= link_to "entfernen", :controller => 'orders', :action => 'edit', :id => @order
|
||||
|
||||
= t('.note', article: h(@article.name), drop_link: link_to(t('.drop'), :controller => 'orders', :action => 'edit', :id => @order)).html_safe
|
||||
|
|
|
|||
|
|
@ -2,18 +2,19 @@
|
|||
%thead
|
||||
%tr
|
||||
%th
|
||||
%acronym{:title => "verfügbar"} verf.
|
||||
%th Name
|
||||
%th Einheit
|
||||
%acronym{:title => t('.available_desc')}= t '.available_short'
|
||||
%th= t 'simple_form.labels.article.name'
|
||||
%th= t 'simple_form.labels.article.unit'
|
||||
%th
|
||||
%acronym{:title => "Netto!"} Preis
|
||||
%acronym{:title => t('.price_desc')}= t '.price_short'
|
||||
%th
|
||||
%acronym{:title => "Gebindegröße"} GebGr
|
||||
%th Best.Nr.
|
||||
%th Notiz
|
||||
%th Kategorie
|
||||
%th MwSt.
|
||||
%th Pfand
|
||||
%acronym{:title => t('.unit_quantity_desc')}= t '.unit_quantity_short'
|
||||
%th
|
||||
%acronym{:title => t('.order_number_desc')}= t '.order_number_short'
|
||||
%th= t 'simple_form.labels.article.note'
|
||||
%th= t 'simple_form.labels.article.article_category'
|
||||
%th= t 'simple_form.labels.defaults.tax'
|
||||
%th= t 'simple_form.labels.defaults.deposit'
|
||||
%tbody
|
||||
- @articles.each_with_index do |article, index|
|
||||
= fields_for "articles[#{article.id || index}]", article do |form|
|
||||
|
|
@ -31,4 +32,4 @@
|
|||
%td= form.text_field 'deposit', class: 'input-mini'
|
||||
- unless article.errors.empty?
|
||||
%tr.alert
|
||||
%td(colspan="10")= article.errors.full_messages.join(", ")
|
||||
%td(colspan="10")= article.errors.full_messages.join(", ")
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
= f.hidden_field :shared_updated_on
|
||||
= f.hidden_field :supplier_id
|
||||
.modal-header
|
||||
= button_tag "x", class: 'close', data: {dismiss: 'modal'}
|
||||
%h3 Neuen Artikel einfügen
|
||||
= link_to t('ui.marks.close').html_safe, '#', class: 'close', data: {dismiss: 'modal'}
|
||||
%h3= t '.title'
|
||||
.modal-body
|
||||
= f.input :availability
|
||||
= f.input :name
|
||||
|
|
@ -19,6 +19,6 @@
|
|||
= f.input :tax
|
||||
= f.input :deposit
|
||||
.modal-footer
|
||||
= button_tag "Schließen", class: 'btn', data: {dismiss: 'modal'}
|
||||
= link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'}
|
||||
= f.submit class: 'btn btn-primary'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
- if @articles.empty?
|
||||
%p Keine Artikel gefunden
|
||||
%p= t '.not_found'
|
||||
- else
|
||||
= pagination_links_remote @articles, :params => {:search => search_params}
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th Herkunft
|
||||
%th Hersteller
|
||||
%th Notiz
|
||||
%th{:style => "width:4em"} Preis
|
||||
%th Einheit
|
||||
%th GebGröße
|
||||
%th= t 'simple_form.labels.article.name'
|
||||
%th= t 'simple_form.labels.article.origin'
|
||||
%th= t 'simple_form.labels.article.manufacturer'
|
||||
%th= t 'simple_form.labels.article.note'
|
||||
%th{:style => "width:4em"}= t 'simple_form.labels.defaults.price'
|
||||
%th= t 'simple_form.labels.article.unit'
|
||||
%th= t 'simple_form.labels.defaults.unit_quantity'
|
||||
%th
|
||||
%tbody
|
||||
- for article in @articles
|
||||
|
|
@ -25,9 +25,8 @@
|
|||
%td= article.unit_quantity
|
||||
%td
|
||||
- logger.debug "[debug] #{article.attributes.inspect}"
|
||||
- if @supplier.articles.where(order_number: article.number).exists?
|
||||
%i.icon-ok
|
||||
schon importiert
|
||||
- if @supplier.articles.undeleted.where(order_number: article.number).exists?
|
||||
%i.icon-ok= t '.already_imported'
|
||||
- else
|
||||
= link_to 'importieren', import_supplier_articles_path(@supplier, :shared_article_id => article.id),
|
||||
= link_to t('.action_import'), import_supplier_articles_path(@supplier, :shared_article_id => article.id),
|
||||
:remote => true, class: 'btn btn-small btn-success'
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
- title "Alle Artikel von #{@supplier.name} bearbeiten" |
|
||||
- title t('.title', supplier: @supplier.name)
|
||||
%p
|
||||
%i
|
||||
Pflichtfelder sind: Name, Einheit, (netto) Preis und Bestellnummer.
|
||||
%i= t '.note'
|
||||
= form_tag(update_all_supplier_articles_path(@supplier)) do
|
||||
= render 'edit_all_table'
|
||||
%br/
|
||||
%i Achtung, alle Artikel werden aktualisiert!
|
||||
%i= t '.warning'
|
||||
.form-actions
|
||||
= submit_tag 'Alle Artikel aktualisieren', class: 'btn btn-primary'
|
||||
= link_to 'oder abbrechen', supplier_articles_path(@supplier)
|
||||
= submit_tag t('.submit'), class: 'btn btn-primary'
|
||||
= link_to t('ui.or_cancel'), supplier_articles_path(@supplier)
|
||||
|
|
|
|||
|
|
@ -1,47 +1,48 @@
|
|||
- title "Artikel von #{@supplier.name} (#{@supplier.articles.count})"
|
||||
- title t('.title', supplier: @supplier.name, count: @supplier.articles.undeleted.count)
|
||||
|
||||
.well.well-small
|
||||
.btn-toolbar
|
||||
= form_tag supplier_articles_path(@supplier), method: :get, remote: true, class: 'form-search pull-right',
|
||||
'data-submit-onchange' => true do
|
||||
= text_field_tag :query, params[:query], class: 'input-medium search-query',
|
||||
placeholder: 'Name ...'
|
||||
placeholder: t('.search_placeholder')
|
||||
|
||||
.btn-group
|
||||
= link_to "Neuer Artikel", new_supplier_article_path(@supplier), remote: true, class: 'btn btn-primary'
|
||||
= link_to "Alle bearbeiten", edit_all_supplier_articles_path(@supplier), class: 'btn'
|
||||
= link_to "Artikel hochladen", upload_supplier_articles_path(@supplier), class: 'btn'
|
||||
= link_to t('.new'), new_supplier_article_path(@supplier), remote: true, class: 'btn btn-primary'
|
||||
= link_to t('.edit_all'), edit_all_supplier_articles_path(@supplier), class: 'btn'
|
||||
= link_to t('.upload'), upload_supplier_articles_path(@supplier), class: 'btn'
|
||||
- if current_user.role_orders?
|
||||
= link_to "Bestellung anlegen", new_order_path(supplier_id: @supplier), class: 'btn'
|
||||
= link_to t('.new_order'), new_order_path(supplier_id: @supplier), class: 'btn'
|
||||
|
||||
- unless @supplier.shared_supplier.nil?
|
||||
.btn-group
|
||||
= link_to '#', data: {toggle: 'dropdown'}, class: 'btn btn-success dropdown-toggle' do
|
||||
Externe Datenbank
|
||||
= t '.ext_db.title'
|
||||
%span.caret
|
||||
%ul.dropdown-menu
|
||||
%li= link_to "Suchen/Importieren", "#import", 'data-toggle-this' => '#import'
|
||||
%li= link_to "Synchronisieren", sync_supplier_articles_path(@supplier), method: :post
|
||||
%li= link_to t('.ext_db.import'), "#import", 'data-toggle-this' => '#import'
|
||||
%li= link_to t('.ext_db.sync'), sync_supplier_articles_path(@supplier), method: :post
|
||||
|
||||
.btn-group
|
||||
= link_to '#', data: {toggle: 'dropdown'}, class: 'btn dropdown-toggle' do
|
||||
Lieferant wechseln ..
|
||||
= t '.change_supplier'
|
||||
%span.caret
|
||||
%ul.dropdown-menu
|
||||
- Supplier.where('id != ?', @supplier.id).order('name ASC').each do |supplier|
|
||||
- Supplier.undeleted.where('id != ?', @supplier.id).order('suppliers.name ASC').each do |supplier|
|
||||
%li= link_to supplier.name, supplier_articles_path(supplier), tabindex: -1
|
||||
|
||||
- unless @supplier.shared_supplier.nil?
|
||||
#import.well.well-small(style="display:none;")
|
||||
= form_tag shared_supplier_articles_path(@supplier), method: :get, remote: true, class: 'form-search',
|
||||
'data-submit-onchange' => true do
|
||||
%h3 Artikel importieren
|
||||
= text_field_tag "search[name_contains_all]", "", class: 'input-medium search-query', placeholder: 'Name ...'
|
||||
%h3= t '.import.title'
|
||||
= text_field_tag "search[name_contains_all]", "", class: 'input-medium search-query',
|
||||
placeholder: t('.import.placeholder')
|
||||
%label.checkbox
|
||||
= check_box_tag "search[origin_equals]", "REG", false
|
||||
Nur aus der Region
|
||||
= t '.import.restrict_region'
|
||||
#search_results.clearfix
|
||||
= link_to "Schließen", "#import", 'data-toggle-this' => '#import'
|
||||
= link_to t('ui.close'), "#import", 'data-toggle-this' => '#import'
|
||||
|
||||
= form_tag update_selected_supplier_articles_path(@supplier), id: "articlesInListForm",
|
||||
'data-submit-onchange' => true do
|
||||
|
|
|
|||
|
|
@ -1,13 +1,9 @@
|
|||
- title "#{@supplier.name} / Artikel hochladen"
|
||||
%p
|
||||
%i
|
||||
Bitte überprüfe die eingelesenen Artikel.
|
||||
%br/
|
||||
Achtung, momentan gibt es keine Überprüfung auf doppelte Artikel.
|
||||
- title t('.title', supplier: @supplier.name)
|
||||
%p= t('.body').html_safe
|
||||
|
||||
= form_tag(create_from_upload_supplier_articles_path(@supplier)) do
|
||||
= render 'edit_all_table'
|
||||
.form-actions
|
||||
= submit_tag "Speichere neue Artikel für #{@supplier.name}", class: 'btn btn-primary'
|
||||
= link_to "order abbrechen", upload_supplier_articles_path(@supplier)
|
||||
|
||||
= submit_tag t('.submit', supplier: @supplier.name), class: 'btn btn-primary'
|
||||
= link_to t('ui.or_cancel'), upload_supplier_articles_path(@supplier)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,71 +1,70 @@
|
|||
%h1 Artikel mit externer Datenbank synchronisieren
|
||||
- title 'Artikel mit externer Datenbank synchronisieren'
|
||||
|
||||
- form_tag update_all_supplier_articles_path(@supplier, :sync => "1") do
|
||||
%h2 Auslisten ...
|
||||
= form_tag update_synchronized_supplier_articles_path(@supplier) do
|
||||
%h2= t '.outlist.title'
|
||||
%p
|
||||
- unless @outlisted_articles.empty?
|
||||
Folgende Artikel wurden ausgelistet und werden
|
||||
%b gelöscht:
|
||||
= t('.outlist.body').html_safe
|
||||
%ul
|
||||
- for article in @outlisted_articles
|
||||
%li
|
||||
= hidden_field_tag "outlisted_articles[#{article.id}]", '1'
|
||||
= article.name
|
||||
- if article.in_open_order
|
||||
.alert
|
||||
Achtung, #{article.name} wird gerade in einer laufenden Bestellung verwendet. Bitte erst Bestellung anpassen.
|
||||
- else
|
||||
%i Es müssen keine Artikel gelöscht werden.
|
||||
%i= t '.outlist.body_skip'
|
||||
%hr/
|
||||
%h2 Aktualisieren ...
|
||||
%h2= t '.update.title'
|
||||
%p
|
||||
%i
|
||||
%b= @updated_articles.size
|
||||
Artikel müssen aktualisiert werden:
|
||||
%p
|
||||
%i
|
||||
Jeder Artikel wird doppelt angezeigt. Die alten Werte sind grau und die Textfelder sind mit den aktuellen
|
||||
Werten vorausgefüllt.
|
||||
%br/
|
||||
Abweichungen zu den alten Artikeln sind gelb markiert.
|
||||
%table
|
||||
%tr
|
||||
%th Name
|
||||
%th Notiz
|
||||
%th Hersteller
|
||||
%th Herkunft
|
||||
%th Einheit
|
||||
%th GebGr
|
||||
%th Preis
|
||||
%th MwSt.
|
||||
%th Pfand
|
||||
%th Kategorie
|
||||
- @updated_articles.each do |@article, unequal_attributes|
|
||||
- article = Article.find(@article.id)
|
||||
%tr{:style => 'color:grey'}
|
||||
%td= article.name
|
||||
%td= article.note
|
||||
%td= article.manufacturer
|
||||
%td= article.origin
|
||||
%td= article.unit
|
||||
%td= article.unit_quantity
|
||||
%td= article.price
|
||||
%td= article.tax
|
||||
%td= article.deposit
|
||||
%td= article.article_category.name if article.article_category
|
||||
= t '.update.update_msg'
|
||||
= t('.update.body').html_safe
|
||||
%table.table
|
||||
%thead
|
||||
%tr
|
||||
- fields_for 'articles[]', @article do |form|
|
||||
%td{:style => highlight_new(unequal_attributes, :name)}
|
||||
= form.text_field 'name', :size => 0
|
||||
= form.hidden_field 'shared_updated_on'
|
||||
%td{:style => highlight_new(unequal_attributes, :note)}= form.text_field 'note', :size => 15
|
||||
%td{:style => highlight_new(unequal_attributes, :manufacturer)}= form.text_field 'manufacturer', :size => 10
|
||||
%td{:style => highlight_new(unequal_attributes, :origin)}= form.text_field 'origin', :size => 5
|
||||
%td{:style => highlight_new(unequal_attributes, :unit)}= form.text_field 'unit', :size => 5
|
||||
%td{:style => highlight_new(unequal_attributes, :unit_quantity)}= form.text_field 'unit_quantity', :size => 5
|
||||
%td{:style => highlight_new(unequal_attributes, :price)}= form.text_field 'price', :size => 5
|
||||
%td{:style => highlight_new(unequal_attributes, :tax)}= form.text_field 'tax', :size => 4
|
||||
%td{:style => highlight_new(unequal_attributes, :deposit)}= form.text_field 'deposit', :size => 4
|
||||
%td= select 'article[]', 'article_category_id', ArticleCategory.find(:all).collect {|a| [ a.name, a.id ] }, { :include_blank => true }
|
||||
%th= t 'simple_form.labels.article.name'
|
||||
%th= t 'simple_form.labels.article.note'
|
||||
%th= t 'simple_form.labels.article.manufacturer'
|
||||
%th= t 'simple_form.labels.article.origin'
|
||||
%th= t 'simple_form.labels.article.unit'
|
||||
%th= t '.unit_quantity_short'
|
||||
%th= t '.price_short'
|
||||
%th= t 'simple_form.labels.defaults.tax'
|
||||
%th= t 'simple_form.labels.defaults.deposit'
|
||||
%th= t 'simple_form.labels.article.article_category'
|
||||
%tbody
|
||||
- @updated_articles.each do |updated_article, attrs|
|
||||
- article = Article.find(updated_article.id)
|
||||
%tr{:style => 'color:grey'}
|
||||
%td= article.name
|
||||
%td= article.note
|
||||
%td= article.manufacturer
|
||||
%td= article.origin
|
||||
%td= article.unit
|
||||
%td= article.unit_quantity
|
||||
%td= article.price
|
||||
%td= article.tax
|
||||
%td= article.deposit
|
||||
%td= article.article_category.name if article.article_category
|
||||
%tr
|
||||
= fields_for 'articles[]', updated_article do |form|
|
||||
%td{:style => highlight_new(attrs, :name)}
|
||||
= form.text_field 'name', :size => 0
|
||||
= form.hidden_field 'shared_updated_on'
|
||||
%td{:style => highlight_new(attrs, :note)}= form.text_field 'note', class: 'input-small'
|
||||
%td{:style => highlight_new(attrs, :manufacturer)}= form.text_field 'manufacturer', class: 'input-small'
|
||||
%td{:style => highlight_new(attrs, :origin)}= form.text_field 'origin', class: 'input-mini'
|
||||
%td{:style => highlight_new(attrs, :unit)}= form.text_field 'unit', class: 'input-mini'
|
||||
%td{:style => highlight_new(attrs, :unit_quantity)}= form.text_field 'unit_quantity', class: 'input-mini'
|
||||
%td{:style => highlight_new(attrs, :price)}= form.text_field 'price', class: 'input-mini'
|
||||
%td{:style => highlight_new(attrs, :tax)}= form.text_field 'tax', class: 'input-mini'
|
||||
%td{:style => highlight_new(attrs, :deposit)}= form.text_field 'deposit', class: 'input-mini'
|
||||
%td= form.select :article_category_id, ArticleCategory.all.map {|a| [ a.name, a.id ] },
|
||||
{include_blank: true}, class: 'input-small'
|
||||
%hr/
|
||||
= hidden_field 'supplier', 'id'
|
||||
= submit_tag 'Alle löschen/aktualisieren'
|
||||
|
|
||||
= link_to 'Abbrechen', supplier_articles_path(@supplier)
|
||||
= submit_tag t('.submit'), class: 'btn btn-primary'
|
||||
= link_to t('ui.or_cancel'), supplier_articles_path(@supplier)
|
||||
|
|
|
|||
|
|
@ -1,21 +1,24 @@
|
|||
- title "#{@supplier.name} / Artikel hochladen"
|
||||
%p
|
||||
Die Datei muss eine Textdatei mit der Endung '.csv' sein. Die erste Zeile
|
||||
wird beim Einlesen ignoriert.
|
||||
%br/
|
||||
Die Felder müssen mit einem Semikolon (';') getrennt und der Text mit doppelten
|
||||
Anführungszeichen ("Text...") umklammert werden.
|
||||
%br/
|
||||
Als Zeichensatz wird UTF-8 erwartet. Korrekte Reihenfolge der Spalten:
|
||||
%pre
|
||||
= ["Status (x=ausgelistet)", "Bestellnummer", "Name", "Notiz", "Hersteller", "Herkunft",
|
||||
"Einheit", "Preis(netto)", "MwSt", "Pfand", "Gebindegröße",
|
||||
"Staffelmenge", "Staffelpreis", "Kategorie"].join(" | ")
|
||||
- title t('.title', supplier: @supplier.name)
|
||||
= t('.body').html_safe
|
||||
%pre
|
||||
= [t('.fields.status'),
|
||||
t('simple_form.labels.defaults.order_number'),
|
||||
t('simple_form.labels.article.name'),
|
||||
t('simple_form.labels.article.note'),
|
||||
t('simple_form.labels.article.manufacturer'),
|
||||
t('simple_form.labels.article.origin'),
|
||||
t('simple_form.labels.article.unit'),
|
||||
t('simple_form.labels.defaults.price'),
|
||||
t('simple_form.labels.defaults.tax'),
|
||||
t('simple_form.labels.defaults.deposit'),
|
||||
t('simple_form.labels.defaults.unit_quantity'),
|
||||
t('.fields.season_amount'),
|
||||
t('.fields.season_price'),
|
||||
t('simple_form.labels.article.article_category')].join(" | ")
|
||||
|
||||
= form_for :articles, :url => parse_upload_supplier_articles_path(@supplier),
|
||||
:html => { :multipart => true } do |f|
|
||||
%label(for="articles_file")
|
||||
Bitte wähle eine kompatible Datei aus
|
||||
%label(for="articles_file")= t '.file_label'
|
||||
= f.file_field "file"
|
||||
.form-actions
|
||||
= submit_tag "Datei hochladen", class: 'btn'
|
||||
= submit_tag t('.submit'), class: 'btn'
|
||||
|
|
|
|||
|
|
@ -21,28 +21,24 @@
|
|||
Menge
|
||||
= stock_change_form.text_field :quantity, size: 5, autocomplete: 'off'
|
||||
= stock_change_form.hidden_field :_destroy
|
||||
= link_to "Artikel aus Lieferung entfernen", "#", class: 'destroy_stock_change'
|
||||
= link_to t('.remove_article'), "#", class: 'destroy_stock_change'
|
||||
%p
|
||||
= link_to "Lagerartikel der Lieferung hinzufügen", {action: 'add_stock_change', supplier_id: @supplier.id}, remote: true
|
||||
= link_to t('.add_article'), {action: 'add_stock_change', supplier_id: @supplier.id}, remote: true
|
||||
%p
|
||||
%small
|
||||
Ist ein Artikel noch nicht in der Lagerverwaltung, muss er erst
|
||||
#{link_to("neu angelegt", new_stock_article_path)} werden.
|
||||
%small= t('.note_new_article', new_link: link_to(t('.note_new_article_link'), new_stock_article_path)).html_safe
|
||||
%hr/
|
||||
= f.input :delivered_on, as: :date_picker
|
||||
= f.input :note, input_html: {size: '35x4'}
|
||||
.form-actions
|
||||
= f.submit class: 'btn btn-primary'
|
||||
= link_to "oder abbrechen", supplier_deliveries_path(@supplier)
|
||||
= link_to t('ui.or_cancel'), supplier_deliveries_path(@supplier)
|
||||
|
||||
/
|
||||
TODO: Fix this!!
|
||||
.span6
|
||||
%h2 Neuen Lagerartikel anlegen
|
||||
%h2= t '.new_article.title'
|
||||
%p
|
||||
Suche nach Artikeln aus dem
|
||||
%i= @supplier.name
|
||||
Katalog:
|
||||
= t('.new_article.search', supplier: @supplier.name).html_safe + ': '
|
||||
= text_field_tag 'article_name'
|
||||
%hr/
|
||||
#stock_article_form
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
= form.select :stock_article_id, stock_articles_for_select(supplier)
|
||||
Menge
|
||||
= form.text_field :quantity, :size => 5, :autocomplete => 'off'
|
||||
= link_to "Artikel aus Lieferung entfernen", "#", :class => 'remove_new_stock_change'
|
||||
= link_to t('.remove_article'), "#", :class => 'remove_new_stock_change'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Lieferung bearbeiten"
|
||||
- title t('.title')
|
||||
|
||||
= render :partial => 'form'
|
||||
= render :partial => 'form'
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
- title "#{@supplier.name}/Lieferungen"
|
||||
- title t('.title', supplier: @supplier.name)
|
||||
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Geliefert am
|
||||
%th.numeric Rechnungsbetrag
|
||||
%th Notiz
|
||||
%th= t 'simple_form.labels.delivery.delivered_on'
|
||||
%th.numeric= t 'deliveries.invoice_amount'
|
||||
%th= t 'simple_form.labels.defaults.note'
|
||||
%tbody
|
||||
- for delivery in @deliveries
|
||||
%tr
|
||||
|
|
@ -13,11 +13,11 @@
|
|||
%td.numeric= link_to_invoice(delivery)
|
||||
%td= truncate delivery.note
|
||||
%td
|
||||
= link_to 'Anzeigen', [@supplier, delivery], class: 'btn btn-mini'
|
||||
= link_to 'Bearbeiten', edit_supplier_delivery_path(@supplier,delivery), class: 'btn btn-mini'
|
||||
= link_to 'Löschen', [@supplier,delivery], :confirm => 'Are you sure?', :method => :delete,
|
||||
= link_to t('ui.show'), [@supplier, delivery], class: 'btn btn-mini'
|
||||
= link_to t('ui.edit'), edit_supplier_delivery_path(@supplier,delivery), class: 'btn btn-mini'
|
||||
= link_to t('ui.delete'), [@supplier,delivery], :confirm => t('.confirm_delete'), :method => :delete,
|
||||
class: 'btn btn-mini btn-danger'
|
||||
|
||||
= link_to "Neue Lieferung für #{@supplier.name} anlegen", new_supplier_delivery_path(@supplier), class: 'btn btn-primary'
|
||||
= link_to t('.new_delivery', supplier: @supplier.name), new_supplier_delivery_path(@supplier), class: 'btn btn-primary'
|
||||
|
|
||||
= link_to "Lieferantenübersicht", suppliers_path
|
||||
= link_to t('deliveries.suppliers_overview'), suppliers_path
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Neue Lieferung von #{@supplier.name}"
|
||||
- title t('.title', supplier: @supplier.name)
|
||||
|
||||
= render 'form'
|
||||
= render 'form'
|
||||
|
|
|
|||
|
|
@ -1,27 +1,27 @@
|
|||
- title "Lieferung anzeigen"
|
||||
- title t('.title')
|
||||
|
||||
%dl
|
||||
%dt Lieferantin
|
||||
%dt= t 'simple_form.labels.delivery.supplier'
|
||||
%dd= @delivery.supplier.name
|
||||
%dt Geliefert am
|
||||
%dt= t 'simple_form.labels.delivery.delivered_on'
|
||||
%dd= @delivery.delivered_on
|
||||
%dt Rechnungsbetrag:
|
||||
%dt= t 'deliveries.invoice_amount'
|
||||
%dd= link_to_invoice(@delivery)
|
||||
- if @delivery.invoice
|
||||
%dt bereinigter Rechnungsbetrag:
|
||||
%dt= t 'deliveries.invoice_net_amount'
|
||||
%dd= number_to_currency @delivery.invoice.net_amount
|
||||
%dt Notiz:
|
||||
%dt= t 'simple_form.labels.defaults.note'
|
||||
%dd= simple_format @delivery.note
|
||||
|
||||
%h2 Artikel
|
||||
%h2= t '.title_articles'
|
||||
%table.table.table-striped(style="width:500px")
|
||||
%thead
|
||||
%tr
|
||||
%th Artikel
|
||||
%th Einheit
|
||||
%th.numeric Menge
|
||||
%th.numeric Nettopreis
|
||||
%th.numeric Summe
|
||||
%th= t '.article'
|
||||
%th= t '.unit'
|
||||
%th.numeric= t '.amount'
|
||||
%th.numeric= t '.price'
|
||||
%th.numeric= t '.sum'
|
||||
%tbody
|
||||
- total_net, total_gross = 0,0
|
||||
- @delivery.stock_changes.all.each do |stock_change|
|
||||
|
|
@ -37,16 +37,16 @@
|
|||
%td.numeric= number_to_currency sum
|
||||
%tfoot
|
||||
%tr
|
||||
%td(colspan="4") Nettosumme
|
||||
%td(colspan="4")= t '.sum_net'
|
||||
%td.numeric= number_to_currency total_net
|
||||
%tr
|
||||
%td(colspan="4") Bruttosumme
|
||||
%td(colspan="4")= t '.sum_gross'
|
||||
%td.numeric= number_to_currency total_gross
|
||||
- if @delivery.invoice
|
||||
%tr
|
||||
%td(colspan="4") Brutto - bereinigter Rechnungsbetrag:
|
||||
%td(colspan="4")= t '.sum_diff'
|
||||
%td.numeric= number_to_currency total_gross - @delivery.invoice.net_amount
|
||||
|
||||
%p
|
||||
= link_to 'Bearbeiten', edit_supplier_delivery_path(@supplier,@delivery), class: 'btn'
|
||||
= link_to 'Lieferungsübersicht', supplier_deliveries_path(@supplier)
|
||||
= link_to t('ui.edit'), edit_supplier_delivery_path(@supplier,@delivery), class: 'btn'
|
||||
= link_to t('deliveries.suppliers_overview'), supplier_deliveries_path(@supplier)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
- title "Gib Feedback"
|
||||
- title t('.title')
|
||||
|
||||
%p Fehler gefunden? Vorschlag? Idee? Kritik? Wir freuen uns über jegliches Feedback.
|
||||
%p
|
||||
Bitte beachte, dass das Foodsoft Team nur die Software wartet. Bei Fragen zur Organisation in Deiner Foodcoop,
|
||||
kontaktiere besser die entsprechenden Ansprechpartner.
|
||||
%p= t('.first_paragraph')
|
||||
%p= t('.second_paragraph')
|
||||
|
||||
= form_tag feedback_path do
|
||||
= text_area_tag :message, nil, class: 'input-xxlarge', rows: 10, required: 'required'
|
||||
.form-actions
|
||||
= submit_tag "Absenden", class: 'btn btn-primary'
|
||||
= submit_tag t('.send'), class: 'btn btn-primary'
|
||||
|
|
@ -1,9 +1,10 @@
|
|||
= simple_form_for @order, url: update_note_finance_order_path(@order), remote: true, method: :put do |f|
|
||||
.modal-header
|
||||
= button_tag "x", class: 'close', data: {dismiss: 'modal'}
|
||||
= link_to t('ui.marks.close').html_safe, '#', class: 'close', data: {dismiss: 'modal'}
|
||||
%h3 Notiz bearbeiten
|
||||
.modal-body
|
||||
= f.input :note, input_html: {class: 'input-xlarge'}
|
||||
.modal-footer
|
||||
= button_tag "Schließen", class: 'btn', data: {dismiss: 'modal'}
|
||||
= f.submit "Speichern", class: 'btn btn-primary'
|
||||
= link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'}
|
||||
= f.submit t('ui.save'), class: 'btn btn-primary'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
%table.ordered-articles.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th= sort_link_helper "Artikel", "name"
|
||||
%th= sort_link_helper "Nr.", "order_number"
|
||||
%th Menge
|
||||
%th GebGr * Einheit
|
||||
%th Netto
|
||||
%th Brutto
|
||||
%th MwSt
|
||||
%th Pfand
|
||||
%th= sort_link_helper t('.article'), "name"
|
||||
%th= sort_link_helper t('.number'), "order_number"
|
||||
%th= t('.amount')
|
||||
%th= t('.amount_per_unit')
|
||||
%th= t('.net')
|
||||
%th= t('.gross')
|
||||
%th= t('.tax')
|
||||
%th= t('.refund')
|
||||
%th{:colspan => "2"}
|
||||
= link_to "Artikel hinzufügen", new_finance_order_order_article_path(@order), remote: true,
|
||||
= link_to t('.add_article'), new_finance_order_order_article_path(@order), remote: true,
|
||||
class: 'btn btn-small'
|
||||
%tbody#result_table
|
||||
- for order_article in @articles
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
%thead
|
||||
%tr
|
||||
%td
|
||||
%td{:style => "width:8em"} Gruppe
|
||||
%td Einheiten
|
||||
%td Gesamtpreis
|
||||
%td{:style => "width:8em"}= t('.group')
|
||||
%td= t('.units')
|
||||
%td= t('.total')
|
||||
%td{:colspan => "3",:style => "width:14em"}
|
||||
= link_to 'Gruppe hinzufügen', new_finance_group_order_article_path(order_article_id: order_article.id),
|
||||
= link_to t('.add_group'), new_finance_group_order_article_path(order_article_id: order_article.id),
|
||||
remote: true, class: 'btn btn-mini'
|
||||
%tbody
|
||||
- for group_order_article in order_article.group_order_articles.select { |goa| goa.result > 0 }
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
%tfoot
|
||||
%tr
|
||||
%td
|
||||
%td{:style => "width:8em"} Summe (FC-Preis)
|
||||
%td{:style => "width:8em"}= t('total_fc')
|
||||
%td{:id => "group_orders_sum_quantity_#{order_article.id}"}
|
||||
= order_article.group_orders_sum[:quantity]
|
||||
%td.numeric{:id => "group_orders_sum_price_#{order_article.id}"}
|
||||
|
|
|
|||
|
|
@ -1,26 +1,26 @@
|
|||
- if invoice
|
||||
%table
|
||||
%tr
|
||||
%td Rechnungsnummer:
|
||||
%td= t('.invoice_number')
|
||||
%td= invoice.number
|
||||
%tr
|
||||
%td Rechnungsdatum:
|
||||
%td= t('.invoice_date')
|
||||
%td= invoice.date
|
||||
%tr
|
||||
%td Rechnungsbetrag:
|
||||
%td= t('.invoice_amount')
|
||||
%td.curreny= number_to_currency invoice.amount
|
||||
%tr
|
||||
%td - Pfand berechnet:
|
||||
%td= t('.minus_refund_calculated')
|
||||
%td.curreny= number_to_currency invoice.deposit
|
||||
%tr
|
||||
%td + Pfand gutgeschrieben:
|
||||
%td= t('.plus_refund_credited')
|
||||
%td.curreny= number_to_currency invoice.deposit_credit
|
||||
%tr
|
||||
%td pfandbereinigter Betrag:
|
||||
%td= t('.refund_adjusted_amount')
|
||||
%td.curreny= number_to_currency invoice.net_amount
|
||||
%br/
|
||||
= link_to "Rechnung bearbeiten", edit_finance_invoice_path(invoice)
|
||||
= link_to t('.edit'), edit_finance_invoice_path(invoice)
|
||||
|
||||
- else
|
||||
Eine Rechnung für diese Bestellung anlegen:
|
||||
= link_to "Neue Rechnung erstellen", new_finance_invoice_path(:order_id => @order, :supplier_id => @order.supplier)
|
||||
= t '.new_body'
|
||||
= link_to t('.new'), new_finance_invoice_path(:order_id => @order, :supplier_id => @order.supplier)
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
%td= order_article.price.tax
|
||||
%td= order_article.price.deposit
|
||||
%td
|
||||
= link_to "Bearbeiten", edit_finance_order_order_article_path(order_article.order, order_article), remote: true,
|
||||
= link_to t('ui.edit'), edit_finance_order_order_article_path(order_article.order, order_article), remote: true,
|
||||
class: 'btn btn-mini'
|
||||
%td
|
||||
= link_to "Löschen", finance_order_order_article_path(order_article.order, order_article), method: :delete,
|
||||
remote: true, confirm: 'Bist du sicher?', class: 'btn btn-danger btn-mini'
|
||||
= link_to t('ui.delete'), finance_order_order_article_path(order_article.order, order_article), method: :delete,
|
||||
remote: true, confirm: t('.confirm'), class: 'btn btn-danger btn-mini'
|
||||
|
|
|
|||
|
|
@ -5,22 +5,22 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th Ende
|
||||
%th Status
|
||||
%th zuletzt bearbeitet von
|
||||
%th= t('.name')
|
||||
%th= t('.end')
|
||||
%th= t('.state')
|
||||
%th= t('.last_edited_by')
|
||||
%th
|
||||
%tbody
|
||||
- @orders.each do |order|
|
||||
%tr{:class => cycle("even","odd", :name => "order")}
|
||||
%td= link_to truncate(order.name), new_finance_order_path(order_id: order.id)
|
||||
%td=h format_time(order.ends) unless order.ends.nil?
|
||||
%td= order.closed? ? "abgerechnet (#{number_to_currency order.foodcoop_result})" : "beendet"
|
||||
%td= order.closed? ? t('.cleared', amount: number_to_currency(order.foodcoop_result)) : "beendet"
|
||||
%td= order.updated_by.nil? ? '??' : order.updated_by.nick
|
||||
%td
|
||||
- unless order.closed?
|
||||
= link_to "abrechnen", new_finance_order_path(order_id: order.id), class: 'btn btn-mini btn-primary'
|
||||
= link_to 'direkt schließen', close_direct_finance_order_path(order),
|
||||
:confirm => 'Wirklich die Bestellung schließen setzen?', :method => :put, class: 'btn btn-mini'
|
||||
= link_to t('.clear'), new_finance_order_path(order_id: order.id), class: 'btn btn-mini btn-primary'
|
||||
= link_to t('.close'), close_direct_finance_order_path(order),
|
||||
:confirm => t('.confirm'), :method => :put, class: 'btn btn-mini'
|
||||
- else
|
||||
%i derzeit gibt es keine beendeten Bestellungen
|
||||
%i= t('.no_closed_orders')
|
||||
|
|
@ -1,27 +1,31 @@
|
|||
%b=h order.name
|
||||
%br/
|
||||
= "von #{format_date(order.starts)} bis #{format_date(order.ends)}"
|
||||
= t('.duration', {starts: format_date(order.starts), ends: format_date(order.ends)})
|
||||
%p
|
||||
%table
|
||||
%tr
|
||||
%td Nettobetrag:
|
||||
%td= t('.net_amount')
|
||||
%td.numeric= number_to_currency(order.sum(:net))
|
||||
%tr
|
||||
%td Bruttobetrag:
|
||||
%td= t('.gross_amount')
|
||||
%td.numeric= number_to_currency(order.sum(:gross))
|
||||
%tr
|
||||
%td FC-Betrag:
|
||||
%td= t('.fc_amount')
|
||||
%td.numeric= number_to_currency(order.sum(:fc))
|
||||
%tr
|
||||
%td Gruppenbeträge:
|
||||
%td= t('.groups_amount')
|
||||
%td.numeric= number_to_currency(order.sum(:groups))
|
||||
%tr
|
||||
%td
|
||||
FC Gewinn
|
||||
%small ohne Aufschlag:
|
||||
= t('.fc_profit')
|
||||
%small= t('.without_extra_charge')
|
||||
%td.numeric= number_to_currency(order.profit(:without_markup => true))
|
||||
%tr
|
||||
%td
|
||||
FC Gewinn
|
||||
%small mit Aufschlag:
|
||||
%td#order_profit.numeric= number_to_currency(order.profit)
|
||||
= t('.fc_profit')
|
||||
%small= t('.with_extra_charge')
|
||||
%td#order_profit.numeric= number_to_currency(order.profit)
|
||||
#summaryChangedWarning.alert(style="display:none;")
|
||||
%strong= t '.changed'
|
||||
%br/
|
||||
= link_to t('.reload'), update_summary_finance_order_path(order), remote: true
|
||||
|
|
|
|||
|
|
@ -1,13 +1,10 @@
|
|||
-title "Bestellung abschließen"
|
||||
%p
|
||||
Wenn die Bestellung abgeschlossen wird, werden ebenfalls alle Gruppenkonten aktualisiert.
|
||||
%br/
|
||||
Die Konten werden wie folgt belastet:
|
||||
-title t('.title')
|
||||
%p!= t('.first_paragraph')
|
||||
%table.table.table-striped{:style => "width:35em"}
|
||||
- for group_order in @order.group_orders
|
||||
%tr{:class => cycle('even', 'odd')}
|
||||
%td= group_order.ordergroup.name
|
||||
%td.numeric= number_to_currency(group_order.price)
|
||||
.form-actions
|
||||
= link_to "Abschließen", close_finance_order_path(@order), method: :put, class: 'btn btn-primary'
|
||||
= link_to 'oder zurück zur Abrechnung', new_finance_order_path(order_id: @order.id)
|
||||
= link_to t('.clear'), close_finance_order_path(@order), method: :put, class: 'btn btn-primary'
|
||||
= link_to t('.or_cancle'), new_finance_order_path(order_id: @order.id)
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
- title "beendete Bestellungen"
|
||||
- title t('.title')
|
||||
|
||||
#ordersTable= render 'orders'
|
||||
|
|
@ -1,47 +1,47 @@
|
|||
- title "#{@order.name} abrechnen"
|
||||
- title t('.title', name: @order.name)
|
||||
|
||||
- content_for :sidebar do
|
||||
.well.well-small
|
||||
%h3 Zusammenfassung
|
||||
%h3= t('.summary')
|
||||
#summary= render 'summary', order: @order
|
||||
|
||||
.well.well-small
|
||||
%h3 Rechnung
|
||||
%h3= t('.invoice')
|
||||
#invoice= render 'invoice', invoice: @order.invoice
|
||||
|
||||
.well.well-small
|
||||
%h3 Notizen/Protokoll
|
||||
%h3= t('.notes_and_journal')
|
||||
#note
|
||||
- unless @order.note.empty?
|
||||
= simple_format @order.note
|
||||
- else
|
||||
%p Hier kannst Du deine Abrechnung kommentieren
|
||||
= link_to "Notiz bearbeiten", edit_note_finance_order_path(@order), remote: true
|
||||
%p= t('.comment_on_transaction')
|
||||
= link_to t('.edit_note'), edit_note_finance_order_path(@order), remote: true
|
||||
|
||||
.well.well-small
|
||||
%h3 Kommentare
|
||||
%h3= t('.comments')
|
||||
#comments= render :partial => 'shared/comments', locals: {comments: @order.comments.includes(:user)}
|
||||
|
||||
- content_for :actionbar do
|
||||
.btn-group
|
||||
- unless @order.invoice or @order.stockit?
|
||||
= link_to "Rechnung anlegen", new_finance_invoice_path(:order_id => @order, :supplier_id => @order.supplier),
|
||||
= link_to t('.create_invoice'), new_finance_invoice_path(:order_id => @order, :supplier_id => @order.supplier),
|
||||
class: 'btn'
|
||||
- unless @order.closed?
|
||||
= link_to "Bestellung abschließen", confirm_finance_order_path(@order), class: 'btn btn-primary'
|
||||
= link_to t('.confirm_order'), confirm_finance_order_path(@order), class: 'btn btn-primary'
|
||||
|
||||
#editOrderNav.btn-group.pull-right
|
||||
= link_to '#', data: {toggle: 'dropdown'}, class: 'btn dropdown-toggle' do
|
||||
Ansichtsoptionen
|
||||
= t('.view_options')
|
||||
%span.caret
|
||||
%ul.dropdown-menu
|
||||
%li= link_to 'Bestellung bearbeiten', new_finance_order_path(order_id: @order.id, view: 'edit_results'),
|
||||
%li= link_to t('.edit_order'), new_finance_order_path(order_id: @order.id, view: 'edit_results'),
|
||||
remote: true
|
||||
%li= link_to 'Gruppenübersicht', new_finance_order_path(order_id: @order.id, view: 'groups_overview'),
|
||||
%li= link_to t('.groups_overview'), new_finance_order_path(order_id: @order.id, view: 'groups_overview'),
|
||||
remote: true
|
||||
%li= link_to 'Artikelübersicht', new_finance_order_path(order_id: @order.id, view: 'articles_overview'),
|
||||
%li= link_to t('.articles_overview'), new_finance_order_path(order_id: @order.id, view: 'articles_overview'),
|
||||
remote: true
|
||||
|
||||
%section#results
|
||||
= render 'edit_results_by_articles'
|
||||
%p= link_to_top
|
||||
%p= link_to_top
|
||||
|
|
|
|||
1
app/views/finance/balancing/update_summary.js.haml
Normal file
1
app/views/finance/balancing/update_summary.js.haml
Normal file
|
|
@ -0,0 +1 @@
|
|||
$('#summary').html('#{j(render('finance/balancing/summary', order: @order))}');
|
||||
|
|
@ -3,5 +3,5 @@
|
|||
= select_tag 'financial_transactions[][ordergroup_id]',
|
||||
options_for_select(Ordergroup.order(:name).all.map { |g| [ g.name, g.id ] })
|
||||
%td= text_field_tag 'financial_transactions[][amount]', nil, class: 'input-small'
|
||||
%td= link_to "Entfernen", "#", :title => "Gruppe enfernen", 'data-remove-transaction' => true,
|
||||
%td= link_to t('.remove'), "#", :title => t('.remove_group'), 'data-remove-transaction' => true,
|
||||
class: 'btn btn-small'
|
||||
|
|
@ -4,10 +4,10 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%td= sort_link_helper "Datum", "date"
|
||||
%td Wer
|
||||
%td= sort_link_helper "Notiz", "note"
|
||||
%td= sort_link_helper "Betrag", "amount"
|
||||
%td= sort_link_helper t('.date'), "date"
|
||||
%td= t('.who')
|
||||
%td= sort_link_helper t('.note'), "note"
|
||||
%td= sort_link_helper t('.amount'), "amount"
|
||||
%tbody
|
||||
- @financial_transactions.each do |t|
|
||||
%tr
|
||||
|
|
|
|||
|
|
@ -1,18 +1,18 @@
|
|||
- title "Kontoauszug für #{@ordergroup.name}"
|
||||
- title t('.title', name: @ordergroup.name)
|
||||
|
||||
- content_for :actionbar do
|
||||
= link_to 'Neue Transaktion anlegen', new_finance_ordergroup_transaction_path(@ordergroup), class: 'btn btn-primary'
|
||||
= link_to t('.new_transaction'), new_finance_ordergroup_transaction_path(@ordergroup), class: 'btn btn-primary'
|
||||
|
||||
- content_for :sidebar do
|
||||
.well.well-small
|
||||
%strong Kontostand: #{number_to_currency(@ordergroup.account_balance)}
|
||||
%strong= t('.balance', balance: number_to_currency(@ordergroup.account_balance))
|
||||
%br/
|
||||
%small (zuletzt aktualisiert vor #{distance_of_time_in_words(Time.now, @ordergroup.account_updated)})
|
||||
%small= t('.last_updated_at', when: distance_of_time_in_words(Time.now, @ordergroup.account_updated))
|
||||
.well.well-small
|
||||
= form_tag finance_ordergroup_transactions_path(@ordergroup), :method => :get, :remote => true,
|
||||
'data-submit-onchange' => true, class: 'form-search' do
|
||||
= text_field_tag :query, params[:query], class: 'input-medium search-query',
|
||||
placeholder: 'Suchen ...'
|
||||
placeholder: t('.search_placeholder')
|
||||
|
||||
|
||||
#transactions= render 'transactions'
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
- title "Neue Transaktion"
|
||||
- title t('.title')
|
||||
|
||||
%p Hier kannst du der Bestellgruppe <b>#{@ordergroup.name}</b> Geld gutschreiben/abziehen.
|
||||
%p!= t('.paragraph', name: @ordergroup.name)
|
||||
|
||||
= simple_form_for @financial_transaction, :url => finance_ordergroup_transactions_path(@ordergroup),
|
||||
:validate => true do |f|
|
||||
|
|
@ -9,4 +9,4 @@
|
|||
= f.input :note, :as => :text
|
||||
.form-actions
|
||||
= f.submit class: 'btn btn-primary'
|
||||
= link_to "oder abbrechen", finance_ordergroup_transactions_path(@ordergroup)
|
||||
= link_to t('ui.or_cancel'), finance_ordergroup_transactions_path(@ordergroup)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
- title "Mehrere Konten aktualisieren"
|
||||
- title t('.title')
|
||||
|
||||
- content_for :javascript do
|
||||
:javascript
|
||||
|
|
@ -17,22 +17,20 @@
|
|||
});
|
||||
|
||||
- content_for :sidebar do
|
||||
.well.well-small
|
||||
Hier kannst Du mehrere Konten gleichzeitig aktualsieren.
|
||||
Z.B. alle Überweisungen der Bestellgruppen aus einem Kontoauszug.
|
||||
.well.well-small= t('.sidebar')
|
||||
|
||||
= form_tag finance_create_transaction_collection_path do
|
||||
%p
|
||||
%b Notiz
|
||||
%b= t('.note')
|
||||
= text_field_tag :note, params[:note], class: 'input-xlarge', required: 'required'
|
||||
%p
|
||||
%table#ordergroups{:style => "width:20em"}
|
||||
%tr
|
||||
%th Bestellgruppe
|
||||
%th Betrag
|
||||
%th= t('.ordergroup')
|
||||
%th= t('.amount')
|
||||
= render :partial => 'ordergroup', :collection => [1, 2, 3]
|
||||
%p
|
||||
= link_to "Weitere Bestellgruppe hinzufügen", '#', 'data-add-transaction' => true, class: 'btn'
|
||||
= link_to t('.new_ordergroup'), '#', 'data-add-transaction' => true, class: 'btn'
|
||||
.form-actions
|
||||
= submit_tag "Transaktionen speichern", class: 'btn btn-primary'
|
||||
= link_to "oder abbrechen", finance_ordergroups_path
|
||||
= submit_tag t('.save'), class: 'btn btn-primary'
|
||||
= link_to t('ui.or_cancel'), finance_ordergroups_path
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
= simple_form_for [:finance, @group_order_article], remote: true do |form|
|
||||
= form.hidden_field :order_article_id
|
||||
.modal-header
|
||||
= button_tag "x", class: 'close', data: {dismiss: 'modal'}
|
||||
%h3 Mengenänderung für #{@order_article.article.name}
|
||||
= link_to t('ui.marks.close').html_safe, '#', class: 'close', data: {dismiss: 'modal'}
|
||||
%h3= t('.amount_change_for', article: @order_article.article.name)
|
||||
.modal-body
|
||||
= form.input :ordergroup_id, as: :select, collection: Ordergroup.all.map { |g| [g.name, g.id] }
|
||||
= form.input :result, hint: "Einheit: #{@order_article.article.unit}"
|
||||
.modal-footer
|
||||
= button_tag "Schließen", class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit "Speichern", class: 'btn btn-primary'
|
||||
= link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit t('ui.save'), class: 'btn btn-primary'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
$('#modalContainer').modal('hide');
|
||||
$('#order_article_#{@order_article.id}').html('#{j(render('finance/balancing/order_article', order_article: @order_article))}');
|
||||
$('#group_order_articles_#{@order_article.id}').html('#{j(render('finance/balancing/group_order_articles', order_article: @order_article))}');
|
||||
$('#summary').html('#{j(render('finance/balancing/summary', order: @order_article.order))}');
|
||||
$('#summaryChangedWarning').show();
|
||||
|
|
@ -1,16 +1,16 @@
|
|||
- title "Finanzbereich"
|
||||
- title t('.title')
|
||||
|
||||
.row-fluid
|
||||
.span6
|
||||
%h2
|
||||
Unbezahlte Rechnungen
|
||||
%small= link_to "alle anzeigen", finance_invoices_path
|
||||
= t('.unpaid_invoices')
|
||||
%small= link_to t('.show_all'), finance_invoices_path
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Datum
|
||||
%th.numeric Betrag
|
||||
%th Lieferantin
|
||||
%th= t('.date')
|
||||
%th.numeric= t('.amount')
|
||||
%th= t('.supplier')
|
||||
%th
|
||||
%tbody
|
||||
- for invoice in @unpaid_invoices
|
||||
|
|
@ -18,18 +18,18 @@
|
|||
%td= format_date(invoice.date)
|
||||
%td.numeric= number_to_currency(invoice.amount)
|
||||
%td= invoice.supplier.name
|
||||
%td= link_to "Bearbeiten", edit_finance_invoice_path(invoice), class: 'btn btn-mini'
|
||||
%td= link_to t('ui.edit'), edit_finance_invoice_path(invoice), class: 'btn btn-mini'
|
||||
|
||||
%h2
|
||||
letzte Überweisungen
|
||||
%small= link_to "alle anzeigen", finance_ordergroups_path
|
||||
= t('.last_transactions')
|
||||
%small= link_to(t('.show_all'), finance_ordergroups_path)
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Datum
|
||||
%th Gruppe
|
||||
%th Notiz
|
||||
%th.numeric Betrag
|
||||
%th= t('.date')
|
||||
%th= t('.group')
|
||||
%th= t('.note')
|
||||
%th.numeric= t('.amount')
|
||||
%tbody
|
||||
- @financial_transactions.each do |ft|
|
||||
%tr
|
||||
|
|
@ -39,15 +39,15 @@
|
|||
%td.numeric{:style => "color:#{ft.amount < 0 ? 'red' : 'black'}"}= number_to_currency(ft.amount)
|
||||
.span6
|
||||
%h2
|
||||
noch nicht abgerechnet
|
||||
%small= link_to "alle anzeigen", finance_order_index_path
|
||||
= t('.open_transactions')
|
||||
%small= link_to t('.show_all'), finance_order_index_path
|
||||
- unless @orders.empty?
|
||||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Lieferantin
|
||||
%th Ende
|
||||
%th.numeric Betrag(FC)
|
||||
%th= t('.supplier')
|
||||
%th= t('.end')
|
||||
%th.numeric= t('.amount_fc')
|
||||
%th
|
||||
%tbody
|
||||
- @orders.each do |order|
|
||||
|
|
@ -55,6 +55,6 @@
|
|||
%td= order.name
|
||||
%td= format_date(order.ends)
|
||||
%td.numeric= number_to_currency(order.sum(:fc))
|
||||
%td= link_to "Abrechnen", new_finance_order_path(order_id: order.id), class: 'btn btn-mini'
|
||||
%td= link_to t('.clear'), new_finance_order_path(order_id: order.id), class: 'btn btn-mini'
|
||||
- else
|
||||
Super, alles schon abgerechnet...
|
||||
= t('.everything_cleared')
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
= f.hidden_field :order_id
|
||||
|
||||
- if @invoice.delivery
|
||||
%p Diese Rechnung ist mit einer #{link_to("Lieferung", [@invoice.supplier,@invoice.delivery])} verknüpft.
|
||||
%p= t('.linked', what_link: link_to(t('.delivery'), [@invoice.supplier,@invoice.delivery])).html_safe
|
||||
- if @invoice.order
|
||||
%p Diese Rechnung ist mit einer #{link_to("Bestellung", @invoice.order)} verknüpft.
|
||||
%p= t('.linked', what_link: link_to(t('.order'), @invoice.order)).html_safe
|
||||
|
||||
= f.association :supplier, hint: false
|
||||
= f.input :number
|
||||
|
|
@ -17,4 +17,4 @@
|
|||
= f.input :note
|
||||
.form-actions
|
||||
= f.submit class: 'btn'
|
||||
= link_to "oder abbrechen", :back
|
||||
= link_to t('ui.or_cancel'), :back
|
||||
|
|
|
|||
|
|
@ -5,14 +5,14 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Nummer
|
||||
%th Lieferantin
|
||||
%th Datum
|
||||
%th Bezahlt am
|
||||
%th Betrag
|
||||
%th Lieferung
|
||||
%th Bestellung
|
||||
%th Note
|
||||
%th= t 'simple_form.labels.invoice.number'
|
||||
%th= t 'simple_form.labels.invoice.supplier'
|
||||
%th= t 'simple_form.labels.invoice.date'
|
||||
%th= t 'simple_form.labels.invoice.paid_on'
|
||||
%th= t 'simple_form.labels.invoice.amount'
|
||||
%th= t 'simple_form.labels.invoice.delivery'
|
||||
%th= t 'simple_form.labels.invoice.order'
|
||||
%th= t 'simple_form.labels.invoice.note'
|
||||
%th
|
||||
%th
|
||||
%tbody
|
||||
|
|
@ -23,9 +23,9 @@
|
|||
%td= format_date invoice.date
|
||||
%td= format_date invoice.paid_on
|
||||
%td= number_to_currency invoice.amount
|
||||
%td= link_to "Lieferung", [invoice.supplier,invoice.delivery] if invoice.delivery
|
||||
%td= link_to t('.delivery'), [invoice.supplier,invoice.delivery] if invoice.delivery
|
||||
%td= link_to format_date(invoice.order.ends), new_finance_order_path(order_id: invoice.order_id) if invoice.order
|
||||
%td= truncate(invoice.note)
|
||||
%td= link_to "Bearbeiten", edit_finance_invoice_path(invoice), class: 'btn btn-mini'
|
||||
%td= link_to "Löschen", finance_invoice_path(invoice), :confirm => 'Are you sure?', :method => :delete,
|
||||
class: 'btn btn-danger btn-mini'
|
||||
%td= link_to t('ui.edit'), edit_finance_invoice_path(invoice), class: 'btn btn-mini'
|
||||
%td= link_to t('ui.delete'), finance_invoice_path(invoice), :confirm => t('.confirm_delete'), :method => :delete,
|
||||
class: 'btn btn-danger btn-mini'
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
- title "Rechnung bearbeiten"
|
||||
= render :partial => 'form'
|
||||
- title t('.title')
|
||||
= render :partial => 'form'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
- title "Rechnungen"
|
||||
- title t('.title')
|
||||
|
||||
- content_for :actionbar do
|
||||
= link_to 'Neue Rechnung anlegen', new_finance_invoice_path, class: 'btn btn-primary'
|
||||
= link_to t('.action_new'), new_finance_invoice_path, class: 'btn btn-primary'
|
||||
|
||||
#invoicesTable= render 'invoices'
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
- title "Neue Rechnung anlegen"
|
||||
- title t('.title')
|
||||
= render :partial => 'form'
|
||||
= link_to 'Zurück', finance_invoices_path
|
||||
= link_to t('.back'), finance_invoices_path
|
||||
|
|
|
|||
|
|
@ -1,34 +1,34 @@
|
|||
- title "Rechnung #{@invoice.number}"
|
||||
- title t('.title', number: @invoice.number)
|
||||
|
||||
%p
|
||||
%b Lieferantin:
|
||||
%b= t 'simple_form.labels.invoice.supplier'
|
||||
= @invoice.supplier.name
|
||||
- if @invoice.delivery
|
||||
%p
|
||||
%b Lieferung:
|
||||
Diese Rechnung ist mit einer #{link_to "Lieferung", [@invoice.supplier,@invoice.delivery]} verknüpft.
|
||||
%b= t('simple_form.labels.invoice.delivery') + ':'
|
||||
= t('.linked', what_link: link_to(t('.delivery'), [@invoice.supplier,@invoice.delivery])).html_safe
|
||||
%p
|
||||
%b Rechnungsnummer:
|
||||
%b= t('simple_form.labels.invoice.number') + ':'
|
||||
= @invoice.number
|
||||
%p
|
||||
%b Datum:
|
||||
%b= t('simple_form.labels.invoice.date') + ':'
|
||||
= @invoice.date
|
||||
%p
|
||||
%b Bezahlt am:
|
||||
%b= t('simple_form.labels.invoice.paid_on') + ':'
|
||||
= @invoice.paid_on
|
||||
%p
|
||||
%b Rechnungsbetrag:
|
||||
%b= t('simple_form.labels.invoice.amount') + ':'
|
||||
= number_to_currency @invoice.amount
|
||||
%p
|
||||
%b Pfand berechnet:
|
||||
%b= t('simple_form.labels.invoice.deposit') + ':'
|
||||
= number_to_currency @invoice.deposit
|
||||
%p
|
||||
%b Pfand gutgeschrieben:
|
||||
%b= t('simple_form.labels.invoice.deposit_credit') + ':'
|
||||
= number_to_currency @invoice.deposit_credit
|
||||
%p
|
||||
%b Notiz:
|
||||
%b= t('simple_form.labels.invoice.note') + ':'
|
||||
=h @invoice.note
|
||||
|
||||
= link_to "Bearbeiten", edit_finance_invoice_path(@invoice)
|
||||
= link_to t('ui.edit'), edit_finance_invoice_path(@invoice)
|
||||
|
|
||||
= link_to "Zurück", finance_invoices_path
|
||||
= link_to t('.back'), finance_invoices_path
|
||||
|
|
|
|||
|
|
@ -1,22 +1,24 @@
|
|||
= simple_form_for [:finance, @order, @order_article], remote: true do |form|
|
||||
.modal-header
|
||||
= button_tag "x", class: 'close', data: {dismiss: 'modal'}
|
||||
%h3 Artikel aktualisieren
|
||||
= link_to t('ui.marks.close').html_safe, '#', class: 'close', data: {dismiss: 'modal'}
|
||||
%h3= t '.title'
|
||||
.modal-body
|
||||
= form.input :units_to_order
|
||||
|
||||
= simple_fields_for @order_article.article do |f|
|
||||
= simple_fields_for :article, @order_article.article do |f|
|
||||
= f.input :name
|
||||
= f.input :order_number
|
||||
= f.input :unit
|
||||
= simple_fields_for @order_article.article_price do |f|
|
||||
= f.input :unit_quantity
|
||||
= f.input :price
|
||||
= f.input :tax
|
||||
= f.input :deposit
|
||||
|
||||
= form.input :update_current_price, as: :boolean
|
||||
|
||||
- if @order_article.article.is_a?(StockArticle)
|
||||
%div.alert Preise von Lagerartikeln können nicht geändert werden!
|
||||
- else
|
||||
= simple_fields_for :article_price, @order_article.article_price do |f|
|
||||
= f.input :unit_quantity
|
||||
= f.input :price
|
||||
= f.input :tax
|
||||
= f.input :deposit
|
||||
= form.input :update_current_price, as: :boolean
|
||||
.modal-footer
|
||||
= button_tag "Schließen", class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit class: 'btn btn-primary'
|
||||
= link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit class: 'btn btn-primary'
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
= simple_form_for [:finance, @order, @order_article], remote: true do |form|
|
||||
.modal-header
|
||||
= button_tag "x", class: 'close', data: {dismiss: 'modal'}
|
||||
%h3 Neuer gelieferter Artikel die Bestellung
|
||||
= link_to t('ui.marks.close').html_safe, '#', class: 'close', data: {dismiss: 'modal'}
|
||||
%h3= t '.title'
|
||||
.modal-body
|
||||
= form.input :article_id, as: :select, collection: new_order_articles_collection
|
||||
.modal-footer
|
||||
= button_tag "Schließen", class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit class: 'btn btn-primary'
|
||||
= link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit class: 'btn btn-primary'
|
||||
|
|
|
|||
|
|
@ -1,2 +1,3 @@
|
|||
$('#modalContainer').modal('hide');
|
||||
$('#result_table').prepend('#{j(render('finance/balancing/order_article_result', order_article: @order_article))}');
|
||||
$('#summaryChangedWarning').show();
|
||||
|
|
@ -1,2 +1,4 @@
|
|||
$('#modalContainer').modal('hide');
|
||||
$('#order_article_#{@order_article.id}').html('#{j(render('finance/balancing/order_article', order_article: @order_article))}');
|
||||
$('#group_order_articles_#{@order_article.id}').html('#{j(render('finance/balancing/group_order_articles', order_article: @order_article))}');
|
||||
$('#summaryChangedWarning').show();
|
||||
|
|
@ -4,9 +4,9 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th= sort_link_helper "Name", "name", :per_page => @per_page
|
||||
%th= sort_link_helper t('.name'), "name", :per_page => @per_page
|
||||
%th Kontakt
|
||||
%th.numeric= sort_link_helper "Kontostand", "account_balance", :per_page => @per_page
|
||||
%th.numeric= sort_link_helper t('.account_balance'), "account_balance", :per_page => @per_page
|
||||
%th
|
||||
%tbody
|
||||
- for ordergroup in @ordergroups
|
||||
|
|
@ -15,6 +15,6 @@
|
|||
%td= ordergroup.contact
|
||||
%td.numeric= number_to_currency(ordergroup.account_balance)
|
||||
%td
|
||||
= link_to "Neue Transaktion", new_finance_ordergroup_transaction_path(ordergroup), class: 'btn btn-mini'
|
||||
= link_to "Kontoauszug", finance_ordergroup_transactions_path(ordergroup), class: 'btn btn-mini'
|
||||
= link_to t('.new_transaction'), new_finance_ordergroup_transaction_path(ordergroup), class: 'btn btn-mini'
|
||||
= link_to t('.account_statement'), finance_ordergroup_transactions_path(ordergroup), class: 'btn btn-mini'
|
||||
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
- title "Konten verwalten"
|
||||
- title t('.title')
|
||||
|
||||
- content_for :actionbar do
|
||||
= link_to "Neue Überweisungen eingeben", finance_new_transaction_collection_path, class: 'btn btn-primary'
|
||||
= link_to t('.new_transaction'), finance_new_transaction_collection_path, class: 'btn btn-primary'
|
||||
|
||||
.well.well-small
|
||||
= form_tag finance_ordergroups_path, :method => :get, :remote => true,
|
||||
'data-submit-onchange' => true, class: 'form-search' do
|
||||
= text_field_tag :query, params[:query], class: 'input-medium search-query',
|
||||
placeholder: 'Suchen ...'
|
||||
placeholder: t('.search_placeholder')
|
||||
|
||||
#ordergroupsTable
|
||||
= render :partial => "ordergroups"
|
||||
|
|
@ -5,9 +5,9 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th Mitglieder
|
||||
%th zuletzt bestellt
|
||||
%th= t '.name'
|
||||
%th= t '.user'
|
||||
%th= t '.last_ordered'
|
||||
|
||||
%tbody
|
||||
- for ordergroup in @ordergroups
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
- title "Bestellgruppen"
|
||||
- title t('.title')
|
||||
|
||||
.well
|
||||
= form_tag foodcoop_ordergroups_path, :method => :get, :remote => true, 'data-submit-onchange' => true,
|
||||
class: 'form-search' do
|
||||
= text_field_tag :name, params[:name], class: 'input-medium search-query', placeholder: 'Name ...'
|
||||
= text_field_tag :name, params[:name], class: 'input-medium search-query', placeholder: t('.name')
|
||||
%label{:for => 'only_active'}
|
||||
= check_box_tag 'only_active', 1, params[:only_active]
|
||||
Nur aktive
|
||||
%small (mindestens einmal in den letzten 3 Monaten bestellt)
|
||||
= t '.only_active'
|
||||
%small= t '.only_active_desc'
|
||||
|
||||
#ordergroups
|
||||
= render :partial => "ordergroups"
|
||||
= render :partial => "ordergroups"
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Benutzername
|
||||
%th Name
|
||||
%th Email
|
||||
%th Telefon
|
||||
%th Bestellgruppe
|
||||
%th Arbeitsgruppe(n)
|
||||
%th= t 'simple_form.labels.user.nick'
|
||||
%th= t 'simple_form.labels.user.name'
|
||||
%th= t 'simple_form.labels.user.email'
|
||||
%th= t 'simple_form.labels.user.phone'
|
||||
%th= t 'simple_form.labels.user.ordergroup'
|
||||
%th= t 'simple_form.labels.user.workgroup', count: 3
|
||||
%tbody
|
||||
- for user in @users
|
||||
%tr
|
||||
|
|
|
|||
|
|
@ -1,23 +1,18 @@
|
|||
- title "Mitglieder"
|
||||
- title t('.title')
|
||||
|
||||
%section
|
||||
%p
|
||||
Hier kannst Du den Mitgliedern Deiner Foodcoop eine Nachricht schreiben.
|
||||
%br/
|
||||
Damit Deine Kontaktdaten einzusehen sind, musst Du sie unter
|
||||
= link_to "Einstellungen", my_profile_path
|
||||
freigeben.
|
||||
= t('.body', profile_link: link_to(t('.profile_link'), my_profile_path)).html_safe
|
||||
|
||||
.well
|
||||
= form_tag foodcoop_users_path, :method => :get, :remote => true,
|
||||
'data-submit-onchange' => true, class: 'form-search' do
|
||||
|
||||
= text_field_tag :user_name, params[:user_name], class: 'input-medium search-query',
|
||||
placeholder: 'Name ...'
|
||||
placeholder: t('.ph_name')
|
||||
= text_field_tag :ordergroup_name, params[:ordergroup_name], class: 'input-medium search-query',
|
||||
placeholder: 'Bestelllgruppe ...'
|
||||
placeholder: t('.ph_ordergroup')
|
||||
%button.btn
|
||||
%i.icon-search
|
||||
|
||||
#users
|
||||
= render :partial => "users"
|
||||
= render :partial => "users"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
%section.well
|
||||
%h3= workgroup.name
|
||||
= render :partial => 'shared/group', :locals => { :group => workgroup }
|
||||
= link_to "Alle Aufgaben zeigen", workgroup_tasks_path(workgroup_id: workgroup), class: 'btn'
|
||||
= link_to t('.show_tasks'), workgroup_tasks_path(workgroup_id: workgroup), class: 'btn'
|
||||
= link_to_new_message message_params: {group_id: workgroup.id}
|
||||
- if workgroup.member?(current_user)
|
||||
= link_to "Gruppe bearbeiten", edit_foodcoop_workgroup_path(workgroup), class: 'btn'
|
||||
= link_to t('.edit'), edit_foodcoop_workgroup_path(workgroup), class: 'btn'
|
||||
|
|
|
|||
|
|
@ -1,11 +1,8 @@
|
|||
- title "Gruppe bearbeiten"
|
||||
- title t('.title')
|
||||
|
||||
%p
|
||||
Neue Mitglieder kannst du
|
||||
= link_to "hier", new_invite_path(id: @workgroup.id)
|
||||
einladen.
|
||||
%p= t('.invite_new', invite_link: link_to(t('.invite_link'), new_invite_path(id: @workgroup.id))).html_safe
|
||||
= simple_form_for [:foodcoop, @workgroup] do |f|
|
||||
= render :partial => 'shared/group_form_fields', :locals => {:f => f}
|
||||
.form-actions
|
||||
= f.submit
|
||||
= link_to "oder abbrechen", foodcoop_workgroups_path
|
||||
= link_to t('ui.or_cancel'), foodcoop_workgroups_path
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
- title "Arbeitsgruppen"
|
||||
- title t('.title')
|
||||
|
||||
= t('.body').html_safe
|
||||
|
||||
%p
|
||||
Das bearbeiten von Gruppen ist nur für Mitglieder der Gruppe möglich.
|
||||
%br/
|
||||
Wenn du einer Gruppe beitreten willst, dann schreib doch den Mitgliedern eine Nachricht.
|
||||
|
||||
= render :partial => "workgroup", :collection => @workgroups
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,29 +8,29 @@
|
|||
setStockit(#{@order.stockit?});
|
||||
});
|
||||
|
||||
- title "Bestellen", false
|
||||
- title t('.title'), false
|
||||
|
||||
.row-fluid
|
||||
.well.pull-left
|
||||
%h2= @order.name
|
||||
%dl.dl-horizontal
|
||||
- unless @order.note.blank?
|
||||
%dt Notiz
|
||||
%dt= t '.note'
|
||||
%dd= @order.note
|
||||
%dt Erstellt von
|
||||
%dt= t '.created_by'
|
||||
%dd= link_to_user_message_if_valid(@order.created_by)
|
||||
%dt Ende
|
||||
%dt= t '.ending'
|
||||
%dd= format_time(@order.ends)
|
||||
- unless @order.stockit? or @order.supplier.min_order_quantity.blank?
|
||||
%dt Mindestbestellmenge
|
||||
%dt= t '.min_quantity'
|
||||
%dd= @order.supplier.min_order_quantity
|
||||
%dt Gesamtbestellmenge bisher:
|
||||
%dt= t '.sum_amount'
|
||||
%dd= number_to_currency @order.sum
|
||||
%dt Zuletzt bestellt
|
||||
%dt= t '.last_update'
|
||||
%dd
|
||||
= @group_order.updated_by.nick if @group_order.updated_by
|
||||
(#{format_time(@group_order.updated_on)})
|
||||
%dt Guthaben
|
||||
%dt= t '.funds'
|
||||
%dd= number_to_currency(@ordering_data[:available_funds])
|
||||
|
||||
.well.pull-right
|
||||
|
|
@ -44,20 +44,20 @@
|
|||
%table.table.table-hover
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th= t '.name'
|
||||
- if @order.stockit?
|
||||
%th{style: 'width:120px'} Lieferant
|
||||
%th{style: 'width:120px'}= t '.supplier'
|
||||
%th{style: "width:13px;"}
|
||||
%th{style: "width:4.5em;"} Preis
|
||||
%th{style: "width:4.5em;"} Einheit
|
||||
%th{style: "width:4.5em;"}= t '.price'
|
||||
%th{style: "width:4.5em;"}= t '.unit'
|
||||
- unless @order.stockit?
|
||||
%th{style: "width:70px;"} Fehlende Einheiten
|
||||
%th#col_required Menge
|
||||
%th#col_tolerance Toleranz
|
||||
%th{style: "width:70px;"}= t '.unit_missing'
|
||||
%th#col_required= t '.amount'
|
||||
%th#col_tolerance= t '.tolerance'
|
||||
- else
|
||||
%th(style="width:20px") Verfügbar
|
||||
%th#col_required Menge
|
||||
%th{style: "width:15px;"} Summe
|
||||
%th(style="width:20px")= t '.available'
|
||||
%th#col_required= t '.amount'
|
||||
%th{style: "width:15px;"}= t '.sum'
|
||||
%tbody
|
||||
- @order.articles_grouped_by_category.each do |category, order_articles|
|
||||
%tr.article-category
|
||||
|
|
@ -102,42 +102,42 @@
|
|||
.article-info
|
||||
.article-name= order_article.article.name
|
||||
.pull-right
|
||||
Volle Gebinde:
|
||||
= t('.units_full') + ':'
|
||||
%span{id: "units_#{order_article.id}"}= order_article.units_to_order
|
||||
%br/
|
||||
Gesamt-Einheiten:
|
||||
= t('.units_total') + ':'
|
||||
%span{id: "q_total_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:quantity] + @ordering_data[:order_articles][order_article.id][:others_quantity]
|
||||
%br/
|
||||
Gesamt-Toleranz:
|
||||
= t('.total_tolerance') + ':'
|
||||
%span{id: "t_total_#{order_article.id}"}= @ordering_data[:order_articles][order_article.id][:tolerance] + @ordering_data[:order_articles][order_article.id][:others_tolerance]
|
||||
%br/
|
||||
.pull-left
|
||||
Hersteller: #{order_article.article.manufacturer}
|
||||
#{t '.manufacturer'}: #{order_article.article.manufacturer}
|
||||
%br/
|
||||
Gebinde: #{@order.stockit? ? order_article.article.quantity_available : @ordering_data[:order_articles][order_article.id][:unit]} * #{h order_article.article.unit}
|
||||
#{t '.units'}: #{@order.stockit? ? order_article.article.quantity_available : @ordering_data[:order_articles][order_article.id][:unit]} * #{h order_article.article.unit}
|
||||
%br/
|
||||
Notiz: #{order_article.article.note}
|
||||
#{t '.note'}: #{order_article.article.note}
|
||||
%br/
|
||||
#order-footer
|
||||
#info-box
|
||||
#total-sum
|
||||
%table
|
||||
%tr
|
||||
%td Gesamtbetrag:
|
||||
%td= t('.total_sum_amount') + ':'
|
||||
%td.currency
|
||||
%span#total_price= @group_order.price
|
||||
€
|
||||
%tr
|
||||
%td Verfügbares Guthaben:
|
||||
%td= t('.available_funds') + ':'
|
||||
%td.currency= number_to_currency(@ordering_data[:available_funds])
|
||||
%tr
|
||||
%td Neuer Kontostand:
|
||||
%td= t('.new_funds') + ':'
|
||||
%td.currency
|
||||
%strong
|
||||
%span#new_balance= @ordering_data[:available_funds] - @group_order.price
|
||||
€
|
||||
#order-button
|
||||
= submit_tag( "Bestellung speichern", id: 'submit_button', class: 'btn btn-primary' )
|
||||
oder #{link_to "abbrechen", group_orders_path}
|
||||
= submit_tag( t('.action_save'), id: 'submit_button', class: 'btn btn-primary' )
|
||||
#{link_to t('ui.or_cancel'), group_orders_path}
|
||||
%input#total_balance{name: "total_balance", type: "hidden", value: @ordergroup.account_balance - @group_order.price}/
|
||||
%input{name: "version", type: "hidden", value: @version}/
|
||||
%input{name: "version", type: "hidden", value: @version}/
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
%table.table.table-striped
|
||||
%thead
|
||||
%tr
|
||||
%th Lieferantin
|
||||
%th Ende
|
||||
%th Summe
|
||||
%th= t '.supplier'
|
||||
%th= t '.ending'
|
||||
%th= t '.sum'
|
||||
%tbody
|
||||
- for order in orders
|
||||
- group_order = order.group_order(@ordergroup) # Get GroupOrder if possible
|
||||
|
|
@ -13,4 +13,4 @@
|
|||
%td= format_time(order.ends)
|
||||
%td.numeric= group_order ? number_to_currency(group_order.price) : "--"
|
||||
- if pagination
|
||||
= pagination_links_remote @closed_orders
|
||||
= pagination_links_remote @closed_orders
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
- orders = Order.open.reject{ |order| order == current_order }
|
||||
- unless orders.empty?
|
||||
%h2 Laufende Bestellungen
|
||||
%h2= t '.title'
|
||||
%ul.unstyled
|
||||
- orders.each do |order|
|
||||
%li
|
||||
= link_to_ordering(order, 'data-confirm_switch_order' => true)
|
||||
- if order.ends
|
||||
noch #{time_ago_in_words(order.ends)}
|
||||
= t '.remaining', remaining: time_ago_in_words(order.ends)
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
- title "Bestellungen der #{@ordergroup.name}"
|
||||
- title t('.title', group: @ordergroup.name)
|
||||
%p
|
||||
Siehe hier alle
|
||||
= link_to "laufenden Bestellungen.", group_orders_path
|
||||
= t('.desc', link: link_to(t('.open_orders'), group_orders_path)).html_safe
|
||||
|
||||
.row-fluid
|
||||
.span6
|
||||
%h2 beendet/nicht abgerechnet
|
||||
%h2= t '.title_open'
|
||||
= render :partial => "orders", :locals => {:orders => Order.finished_not_closed, :pagination => false}
|
||||
|
||||
.span6
|
||||
%h2 abgerechnet
|
||||
%h2= t '.title_closed'
|
||||
#closed_orders
|
||||
= render :partial => "orders", :locals => {:orders => @closed_orders, :pagination => true}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,21 @@
|
|||
- title "Bestellüberblick", false
|
||||
- title t('.title'), false
|
||||
|
||||
- content_for :sidebar do
|
||||
.well.well-small
|
||||
// Ordergroups Account Balance
|
||||
%h2 Guthaben
|
||||
%h2= t '.funds.title'
|
||||
%table.table.table-striped
|
||||
%tr
|
||||
%td Kontostand:
|
||||
%td= t('.funds.account_balance') + ':'
|
||||
%td.numeric{:style => "width:5em"}= number_to_currency(@ordergroup.account_balance)
|
||||
%tr
|
||||
%td - laufende Bestellungen:
|
||||
%td= '- ' + t('.funds.open_orders') + ':'
|
||||
%td.numeric= number_to_currency(@ordergroup.value_of_open_orders)
|
||||
%tr
|
||||
%td= "- nicht abgerechnete Bestellungen:"
|
||||
%td= '- ' + t('.funds.finished_orders') + ':'
|
||||
%td.numeric= number_to_currency(@ordergroup.value_of_finished_orders)
|
||||
%tr
|
||||
%th verfügbares Guthaben:
|
||||
%th= t('.funds.available_funds') + ':'
|
||||
%th.numeric= number_to_currency(@ordergroup.get_available_funds)
|
||||
|
||||
= render :partial => "shared/open_orders", :locals => {:ordergroup => @ordergroup}
|
||||
|
|
@ -23,17 +23,17 @@
|
|||
// finished orders
|
||||
- unless Order.finished.empty?
|
||||
%section
|
||||
%h2 Nicht abgerechnete Bestellungen
|
||||
%h2= t '.finished_orders.title'
|
||||
= render :partial => "orders", :locals => {:orders => Order.finished_not_closed, :pagination => false}
|
||||
- if @ordergroup.value_of_finished_orders > 0
|
||||
%p
|
||||
Gesamtsumme:
|
||||
= t('.finished_orders.total_sum') + ':'
|
||||
%b= number_to_currency(@ordergroup.value_of_finished_orders)
|
||||
|
||||
// closed orders
|
||||
- unless Order.closed.empty?
|
||||
%section
|
||||
%h2 Abgerechnete Bestellungen
|
||||
%h2= t '.closed_orders.title'
|
||||
= render :partial => "orders", :locals => {:orders => Order.closed.all(:limit => 5), :pagination => false}
|
||||
%br/
|
||||
= link_to "mehr...", archive_group_orders_path
|
||||
= link_to t('.closed_orders.more'), archive_group_orders_path
|
||||
|
|
|
|||
|
|
@ -6,20 +6,20 @@
|
|||
- form_tag(:action => 'saveOrder', :id => @order) do
|
||||
.single_column{:style => "clear:both;margin-bottom:7em;"}
|
||||
.box_title
|
||||
%h2 Artikel
|
||||
%h2= t '.title'
|
||||
.column_content
|
||||
%table#order.list
|
||||
%thead
|
||||
%tr
|
||||
%th Name
|
||||
%th= t 'group_orders.form.name'
|
||||
%th{:style => "width:13px;"}
|
||||
%th{:style => "width:4.5em;"} Preis
|
||||
%th{:style => "width:4.5em;"} Einheit
|
||||
%th{:style => "width:70px;"} Fehlende Einheiten
|
||||
%th#col_required Menge
|
||||
%th{:style => "width:4.5em;"}= t 'group_orders.form.price'
|
||||
%th{:style => "width:4.5em;"}= t 'group_orders.form.unit'
|
||||
%th{:style => "width:70px;"}= t 'group_orders.form.unit_missing'
|
||||
%th#col_required= t 'group_orders.form.amount'
|
||||
- if not @order.stockit?
|
||||
%th#col_tolerance Toleranz
|
||||
%th{:style => "width:15px;"} Summe
|
||||
%th#col_tolerance= t 'group_orders.form.tolerance'
|
||||
%th{:style => "width:15px;"}= t 'group_orders.form.sum'
|
||||
%tbody
|
||||
- total = 0
|
||||
- i = 0
|
||||
|
|
@ -68,21 +68,21 @@
|
|||
.article-info
|
||||
%h3= order_article.article.name
|
||||
.right
|
||||
Volle Gebinde:
|
||||
= t('group_orders.form.units_full') + ':'
|
||||
%span{:id => "units_#{i}"}= order_article.units_to_order
|
||||
%br/
|
||||
Gesamt-Einheiten:
|
||||
= t('group_orders.form.total_units') + ':'
|
||||
%span{:id => "q_total_#{i}"}= @quantity[i] + @others_quantity[i]
|
||||
%br/
|
||||
Gesamt-Toleranz:
|
||||
= t('group_orders.form.total_tolerance') + ':'
|
||||
%span{:id => "t_total_#{i}"}= @tolerance[i] + @others_tolerance[i]
|
||||
%br/
|
||||
.left
|
||||
Hersteller: #{order_article.article.manufacturer}
|
||||
#{t 'group_orders.form.manufacturer'}: #{order_article.article.manufacturer}
|
||||
%br/
|
||||
Gebinde: #{@order.stockit? ? order_article.article.quantity_available : @unit[i]} * #{h order_article.article.unit}
|
||||
#{t 'group_orders.form.units'}: #{@order.stockit? ? order_article.article.quantity_available : @unit[i]} * #{h order_article.article.unit}
|
||||
%br/
|
||||
Notiz: #{order_article.article.note}
|
||||
#{t 'group_orders.form.note'}: #{order_article.article.note}
|
||||
%br/
|
||||
- i = i + 1
|
||||
= render "order_footer", :total => total
|
||||
= render "order_footer", :total => total
|
||||
|
|
|
|||
|
|
@ -4,50 +4,50 @@
|
|||
$('tr.ignored').hide();
|
||||
});
|
||||
|
||||
- title "Dein Bestellergebnis für #{@order.name}"
|
||||
- title t('.title', order: @order.name)
|
||||
|
||||
.well
|
||||
// Order summary
|
||||
%dl.dl-horizontal
|
||||
%dt Lieferantin
|
||||
%dt= t '.supplier'
|
||||
%dd= @order.name
|
||||
%dt Notiz
|
||||
%dt= t '.note'
|
||||
%dd= @order.note
|
||||
%dt Ende
|
||||
%dt= t '.ending'
|
||||
%dd= format_time(@order.ends)
|
||||
%dt Bestellsumme
|
||||
%dt= t '.order_sum'
|
||||
%dd
|
||||
- if @group_order
|
||||
= number_to_currency(@group_order.price)
|
||||
- else
|
||||
Du hast nicht bestellt.
|
||||
= t '.not_ordered'
|
||||
- if @order.closed?
|
||||
%p Abgerechnet von #{@order.updated_by.nick}
|
||||
= link_to "Kommentare lesen/schreiben", "#comments"
|
||||
%p= t '.closed_by', user: @order.updated_by.nick
|
||||
= link_to t('.comment'), "#comments"
|
||||
|
||||
// Article box
|
||||
%section
|
||||
%h2 Artikelübersicht
|
||||
%h2= t '.articles.title'
|
||||
.column_content#result
|
||||
- if @group_order
|
||||
%p.pull-right= link_to "Zeige/Verstecke nicht bestellte Artikel", '#', 'data-toggle-this' => 'tr.ignored'
|
||||
%p= link_to("Bestellung anpassen", edit_group_order_path(@group_order, order_id: @order.id), class: 'btn btn-primary') if @order.open?
|
||||
%p.pull-right= link_to t('.articles.show_hide'), '#', 'data-toggle-this' => 'tr.ignored'
|
||||
%p= link_to(t('.articles.edit_order'), edit_group_order_path(@group_order, order_id: @order.id), class: 'btn btn-primary') if @order.open?
|
||||
%table.table.table-hover
|
||||
%thead
|
||||
%tr
|
||||
%th{style: "width:40%"} Name
|
||||
%th Gebinde
|
||||
%th Einzelpreis
|
||||
%th{style: "width:40%"}= t '.articles.name'
|
||||
%th= t '.articles.units'
|
||||
%th= t '.articles.unit_price'
|
||||
%th
|
||||
%abbr{title: "Menge + Toleranz"} Bestellt
|
||||
%abbr{title: t('.articles.ordered_title')}= t '.articles.ordered'
|
||||
%th
|
||||
%abbr{title: "Unter Berücksichtigung der derzeitigen Bestellungen aller Gruppen"}
|
||||
%abbr{title: t('.articles.order_nopen_title')}
|
||||
- if @order.open?
|
||||
Zu
|
||||
Erhalten
|
||||
%th Gesamtpreis
|
||||
= t '.articles.order_open'
|
||||
- else
|
||||
= t '.articles.order_not_open'
|
||||
%th= t '.articles.total_price'
|
||||
%tbody
|
||||
- total = 0 #set counter for order-sum
|
||||
- for category_name, order_articles in @order.articles_grouped_by_category
|
||||
%tr.article-category
|
||||
%td
|
||||
|
|
@ -73,20 +73,20 @@
|
|||
%tr{id: "note_#{oa.id}", class: "note even", style: "display:none"}
|
||||
%td{colspan: "6"}=h oa.article.note
|
||||
%tr{class: cycle('even', 'odd', name: 'articles')}
|
||||
%th{colspan: "5"} Summe
|
||||
%th= number_to_currency(total)
|
||||
%th{colspan: "5"}= t '.articles.sum'
|
||||
%th= number_to_currency(@group_order.price)
|
||||
%br/
|
||||
= link_to_top
|
||||
- else
|
||||
- if @order.open?
|
||||
Du hast noch nicht bestellt.
|
||||
= link_to "Das ist Deine Chance!", action: "order", id: @order
|
||||
= t '.articles.not_ordered_msg'
|
||||
= link_to t('.articles.order_now'), action: "order", id: @order
|
||||
- else
|
||||
Die Bestellung is leider schon zu Ende. Beim nächsten mal früher aufstehen...
|
||||
= t '.articles.order_closed_msg'
|
||||
|
||||
// Comments box
|
||||
%section
|
||||
%h2 Kommentare
|
||||
%h2= t '.comments.title'
|
||||
#comments
|
||||
= render 'shared/comments', comments: @order.comments
|
||||
#new_comment= render 'order_comments/form', order_comment: @order.comments.build(user: current_user)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
Deine aktueller Äpfelpunktestand: #{apple_bar.apples}
|
||||
= t '.points', points: apple_bar.apples
|
||||
.progress
|
||||
%div{class: "bar bar-#{apple_bar.group_bar_state}", style: "width: #{apple_bar.group_bar_width}%"}
|
||||
|
||||
%span.description
|
||||
Abgebildet ist das Verhältnis von erledigten Aufgaben zu dem Bestellvolumen Deiner Bestellgruppe im Vergleich zum Durchschnitt in der Foodcoop.
|
||||
Konkret: Pro #{number_to_currency(apple_bar.mean_order_amount_per_job, :precision => 0 )} Bestellsumme solltest Du eine Aufgabe machen!
|
||||
= t '.desc', amount: number_to_currency(apple_bar.mean_order_amount_per_job, :precision=>0)
|
||||
- if FoodsoftConfig[:stop_ordering_under].present?
|
||||
%strong Achtung,
|
||||
hast Du weniger als #{FoodsoftConfig[:stop_ordering_under]} Äpfel, darfst Du nicht mehr bestellen!
|
||||
= link_to 'Mehr Informationen', 'https://github.com/bennibu/foodsoft/wiki/%C3%84pfel-u.-Birnen', target: '_blank'
|
||||
%strong= t('.warning', threshold: FoodsoftConfig[:stop_ordering_under])
|
||||
= link_to t('.more_info'), FoodsoftConfig[:applepear_url], target: '_blank'
|
||||
|
|
|
|||
|
|
@ -1,34 +1,34 @@
|
|||
.well.well-small
|
||||
%h3 Direkt zu ...
|
||||
%h3= t '.title'
|
||||
%ul.nav.nav-list
|
||||
%li.nav-header Foodcoop
|
||||
%li= link_to "Mitglieder", foodcoop_users_path
|
||||
%li= link_to "Meine Aufgaben", user_tasks_path
|
||||
%li= link_to "Nachricht schreiben", :controller => "messages", :action => "new"
|
||||
%li.nav-header= t '.foodcoop'
|
||||
%li= link_to t('.members'), foodcoop_users_path
|
||||
%li= link_to t('.tasks'), user_tasks_path
|
||||
%li= link_to t('.write_message'), :controller => "messages", :action => "new"
|
||||
|
||||
- has_ordergroup = !@current_user.ordergroup.nil?
|
||||
- has_orders_role = @current_user.role_orders?
|
||||
- if has_ordergroup || has_orders_role
|
||||
%li.nav-header Bestellungen
|
||||
%li.nav-header= t '.orders.title'
|
||||
- if has_ordergroup
|
||||
%li= link_to "Bestellübersicht", group_orders_path
|
||||
%li= link_to t('.orders.overview'), group_orders_path
|
||||
- if has_orders_role
|
||||
%li= link_to "Bestellungen beenden", :controller => 'orders'
|
||||
%li= link_to t('.orders.end'), :controller => 'orders'
|
||||
// Articles
|
||||
- if @current_user.role_article_meta? || @current_user.role_suppliers?
|
||||
%li.nav-header Artikelverwaltung
|
||||
%li= link_to "Artikel aktualisieren", suppliers_path
|
||||
%li= link_to "Lagerverwaltung", :controller => 'stockit'
|
||||
%li= link_to "Lieferanten verwalten", suppliers_path
|
||||
%li.nav-header= t '.products.title'
|
||||
%li= link_to t('.products.edit'), suppliers_path
|
||||
%li= link_to t('.products.edit_stock'), :controller => 'stockit'
|
||||
%li= link_to t('.products.edit_suppliers'), suppliers_path
|
||||
|
||||
// Finance
|
||||
- if @current_user.role_finance?
|
||||
%li.nav-header Finanzbereich
|
||||
%li= link_to "Konten aktualisieren", finance_new_transaction_collection_path
|
||||
%li= link_to "Bestellungen abrechnen", finance_root_path
|
||||
%li.nav-header= t '.finances.title'
|
||||
%li= link_to t('.finances.accounts'), finance_new_transaction_collection_path
|
||||
%li= link_to t('.finances.settle'), finance_root_path
|
||||
|
||||
// Administration
|
||||
- if @current_user.role_admin?
|
||||
%li.nav-header Administration
|
||||
%li= link_to "Neue Bestellgruppe", new_admin_ordergroup_path
|
||||
%li= link_to "Neues Mitglied", new_admin_user_path
|
||||
%li.nav-header= t '.admin'
|
||||
%li= link_to t('.new_ordergroup'), new_admin_ordergroup_path
|
||||
%li= link_to t('.new_user'), new_admin_user_path
|
||||
|
|
|
|||
|
|
@ -7,21 +7,21 @@
|
|||
%section.row-fluid
|
||||
- unless @next_tasks.empty?
|
||||
.span3.well
|
||||
%h4 Deine Aufgaben
|
||||
%h4= t '.your_tasks'
|
||||
%dl
|
||||
- @next_tasks.each do |task|
|
||||
%dt= l task.due_date, format: "%A, %d. %b"
|
||||
%dt= l task.due_date, format: t('.due_date_format')
|
||||
%dd= link_to task.name, task_path(task)
|
||||
- unless @unaccepted_tasks.empty?
|
||||
.span3.well
|
||||
%h4 Aufgaben übernehmen
|
||||
Du bis für Aufgaben verantwortlich.
|
||||
= link_to "Aufgaben übernehmen/ablehnen", user_tasks_path
|
||||
%h4= t '.tasks_move.title'
|
||||
= t '.tasks_move.desc'
|
||||
= link_to t('.tasks_move.action'), user_tasks_path
|
||||
- unless @unassigned_tasks.size == 0
|
||||
.span3.well
|
||||
%h4 Offene Aufgaben
|
||||
Es gibt #{@unassigned_tasks.size}
|
||||
= link_to 'offene Aufgabe(n)', tasks_path
|
||||
%h4= t '.tasks_open.title'
|
||||
= t '.tasks_open.desc', size: @unassigned_tasks.size
|
||||
= link_to t('.tasks_open.action'), tasks_path
|
||||
|
||||
- if current_user.ordergroup
|
||||
= render :partial => 'shared/open_orders', :locals => {:ordergroup => current_user.ordergroup}
|
||||
|
|
@ -29,31 +29,31 @@
|
|||
// Stats
|
||||
- if current_user.ordergroup
|
||||
%section
|
||||
%h2 Engagement Deiner Bestellgruppe
|
||||
%h2= t '.ordergroup.title'
|
||||
= render :partial => "apple_bar", :locals => {:apple_bar => AppleBar.new(current_user.ordergroup)}
|
||||
|
||||
- unless Message.public.empty?
|
||||
%section
|
||||
%h2 Neuste Nachrichten
|
||||
%h2= t '.messages.title'
|
||||
= render 'messages/messages', messages: Message.public.order('created_at DESC').limit(5), pagination: false
|
||||
%p= link_to "Alle Nachrichten einsehen", messages_path
|
||||
%p= link_to t('.messages.view_all'), messages_path
|
||||
|
||||
- if current_user.ordergroup
|
||||
// Ordergroup overview
|
||||
%section
|
||||
%h2 Meine Bestellgruppe
|
||||
%h2= t '.my_ordergroup.title'
|
||||
%p
|
||||
%b= current_user.ordergroup.name
|
||||
| Verfügbares Guthaben:
|
||||
= t '.my_ordergroup.funds'
|
||||
= number_to_currency(current_user.ordergroup.get_available_funds)
|
||||
%small (Letzte Aktualisierung ist #{distance_of_time_in_words(Time.now, current_user.ordergroup.account_updated)} her)
|
||||
%h3 Letzte Transaktionen
|
||||
%small= t '.my_ordergroup.last_update', when: distance_of_time_in_words(Time.now, current_user.ordergroup.account_updated)
|
||||
%h3= t '.my_ordergroup.transactions.title'
|
||||
%table.table.table-striped
|
||||
%tr
|
||||
%th Wann
|
||||
%th Wer
|
||||
%th Notiz
|
||||
%th Betrag
|
||||
%th= t '.my_ordergroup.transactions.when'
|
||||
%th= t '.my_ordergroup.transactions.where'
|
||||
%th= t '.my_ordergroup.transactions.note'
|
||||
%th= t '.my_ordergroup.transactions.amount'
|
||||
- for ft in current_user.ordergroup.financial_transactions.limit(5).order('created_on DESC')
|
||||
%tr
|
||||
%td= format_time(ft.created_on)
|
||||
|
|
@ -62,4 +62,4 @@
|
|||
- color = ft.amount < 0 ? 'red' : 'black'
|
||||
%td{:style => "color:#{color}; width:5em", :class => "currency"}= number_to_currency(ft.amount)
|
||||
%br/
|
||||
%p= link_to "Kontoauszug anzeigen", my_ordergroup_path
|
||||
%p= link_to t('.my_ordergroup.transactions.view'), my_ordergroup_path
|
||||
|
|
|
|||
|
|
@ -1,26 +1,26 @@
|
|||
- title "Meine Bestellgruppe", false
|
||||
- title t('.title'), false
|
||||
|
||||
.row-fluid
|
||||
.span4
|
||||
%h2= @ordergroup.name
|
||||
.well
|
||||
%p
|
||||
%b Beschreibung:
|
||||
%b= t '.description'
|
||||
= @ordergroup.description
|
||||
%p
|
||||
%b Verfügbares Guthaben:
|
||||
%b= t '.funds'
|
||||
= number_to_currency(@ordergroup.get_available_funds())
|
||||
%h2 Personen
|
||||
%h2= t '.people'
|
||||
%ul
|
||||
- for membership in @ordergroup.memberships
|
||||
%li= membership.user.nick
|
||||
= link_to 'Neue Person einladen', new_invite_path(:id => @ordergroup), :remote => true, class: 'btn btn-primary'
|
||||
= link_to t('.invite'), new_invite_path(:id => @ordergroup), :remote => true, class: 'btn btn-primary'
|
||||
.span8
|
||||
%h2 Kontoauszug
|
||||
%h2= t('.account_summary')
|
||||
.well.well-small
|
||||
= form_tag my_ordergroup_path, :method => :get, :remote => true,
|
||||
'data-submit-onchange' => true, class: 'form-search' do
|
||||
= text_field_tag :query, params[:query], class: 'input-medium search-query',
|
||||
placeholder: 'Suchen ...'
|
||||
placeholder: t('.search')
|
||||
#transactions= render "finance/financial_transactions/transactions"
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,24 +1,23 @@
|
|||
- title "Mein Profil", false
|
||||
- title t('.title'), false
|
||||
|
||||
.row-fluid
|
||||
.span7
|
||||
%h3
|
||||
= h @current_user.nick
|
||||
%small
|
||||
(Mitglied seit: #{distance_of_time_in_words(Time.now, @current_user.created_on)})
|
||||
= h(t('.user.title', user: @current_user.nick))
|
||||
%small= t '.user.since', when: distance_of_time_in_words(Time.now, @current_user.created_on)
|
||||
= simple_form_for(@current_user, :url => { :action => 'update_profile'}) do |f|
|
||||
= render :partial => 'shared/user_form_fields', :locals => {:f => f}
|
||||
.form-actions
|
||||
= submit_tag 'Speichern', class: 'btn'
|
||||
= submit_tag t('ui.save'), class: 'btn'
|
||||
.span5
|
||||
%h2 Du bist Mitglied in folgenden Gruppen
|
||||
%h2= t '.groups.title'
|
||||
%table.table.table-striped
|
||||
- @current_user.memberships.each do |membership|
|
||||
%tr
|
||||
%td= membership.group.name
|
||||
%td= link_to "Neue Mitglieder einladen", new_invite_path(id: membership.group_id),
|
||||
%td= link_to t('.groups.invite'), new_invite_path(id: membership.group_id),
|
||||
remote: true, class: 'btn btn-success btn-small'
|
||||
- if membership.group.type != 'Ordergroup'
|
||||
%td= link_to "Mitgliedschaft beenden", cancel_membership_path(membership_id: membership),
|
||||
confirm: "Bist Du sicher, dass Du Deine Mitgliedschaft beenden willst?", method: :post,
|
||||
%td= link_to t('.groups.cancel'), cancel_membership_path(membership_id: membership),
|
||||
confirm: t('.groups.cancel_confirm'), method: :post,
|
||||
class: 'btn btn-danger btn-small'
|
||||
|
|
|
|||
|
|
@ -1,17 +1,12 @@
|
|||
= simple_form_for @invite, remote: true do |form|
|
||||
.modal-header
|
||||
= button_tag "x", class: 'close', data: {dismiss: 'modal'}
|
||||
%h3 Person einladen
|
||||
= link_to t('ui.marks.close').html_safe, '#', class: 'close', data: {dismiss: 'modal'}
|
||||
%h3= t '.title'
|
||||
.modal-body
|
||||
%p
|
||||
Hier kannst du eine Person in die Gruppe
|
||||
%b=h @invite.group.name
|
||||
einladen, die noch nicht Mitglied der Foodcoop ist.
|
||||
%br/
|
||||
Die Person ist dann nach erstmaliger Anmeldung automatisch Mitglied dieser Gruppe.
|
||||
= t('.body', group: @invite.group.name).html_safe
|
||||
= form.hidden_field :user_id
|
||||
= form.hidden_field :group_id
|
||||
= form.input :email
|
||||
.modal-footer
|
||||
= button_tag "Schließen", class: 'btn', data: {dismiss: 'modal'}
|
||||
= link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit class: 'btn btn-primary'
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
%p
|
||||
Hier kannst du eine Person in die Gruppe
|
||||
%b=h @invite.group.name
|
||||
einladen, die noch nicht Mitglied der Foodcoop ist.
|
||||
= t('.body', group: @invite.group.name).html_safe
|
||||
= simple_form_for @invite do |form|
|
||||
= form.hidden_field :user_id
|
||||
= form.hidden_field :group_id
|
||||
= form.input :email
|
||||
= form.submit "Einladung abschicken"
|
||||
= link_to "oder zurück", :back
|
||||
= form.submit t('.action')
|
||||
= link_to t('.back'), :back
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
!!! 5
|
||||
%html(lang="en")
|
||||
%html(lang='#{I18n.locale}')
|
||||
%head
|
||||
%meta(charset="utf-8")
|
||||
%meta(http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1")
|
||||
%meta(name="viewport" content="width=device-width, initial-scale=1.0")
|
||||
%title= ["Foodsoft", yield(:title)].join(" - ")
|
||||
%title= [t('layouts.foodsoft'), yield(:title)].join(" - ")
|
||||
= csrf_meta_tags
|
||||
= stylesheet_link_tag "application", :media => "all"
|
||||
%link(href="images/apple-touch-icon-144x144.png" rel="apple-touch-icon-precomposed" sizes="144x144")
|
||||
|
|
@ -23,4 +23,4 @@
|
|||
\==================================================
|
||||
/ Placed at the end of the document so the pages load faster
|
||||
= javascript_include_tag "application"
|
||||
= yield(:javascript)
|
||||
= yield(:javascript)
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
= render layout: 'layouts/header' do
|
||||
.logo
|
||||
<span>food</span>soft
|
||||
= t('layouts.logo').html_safe
|
||||
%ul.nav.nav-pills.pull-right
|
||||
%li.dropdown
|
||||
%a.dropdown-toggle(data-toggle="dropdown" href="#")
|
||||
= current_user.nick
|
||||
%b.caret
|
||||
%ul.dropdown-menu
|
||||
%li= link_to "Profil bearbeiten", my_profile_path
|
||||
%li= link_to "Meine Bestellgruppe", my_ordergroup_path
|
||||
%li= link_to "Abmelden", logout_path
|
||||
%li= link_to t('.profile'), my_profile_path
|
||||
%li= link_to t('.ordergroup'), my_ordergroup_path
|
||||
%li= link_to t('.logout'), logout_path
|
||||
%li{class: ('disabled' if FoodsoftConfig.config[:homepage].blank?)}
|
||||
= link_to FoodsoftConfig.config[:name], FoodsoftConfig.config[:homepage]
|
||||
%li= link_to "Hilfe", 'https://github.com/bennibu/foodsoft/wiki/Doku'
|
||||
%li= link_to "Feedback", new_feedback_path, title: "Fehler gefunden? Vorschlag? Idee? Kritik?"
|
||||
%li= link_to t('.help'), FoodsoftConfig.config[:help_url]
|
||||
%li= link_to t('.feedback.title'), new_feedback_path, title: t('.feedback.desc')
|
||||
.clearfix
|
||||
|
||||
.navbar
|
||||
|
|
@ -49,6 +49,5 @@
|
|||
= yield
|
||||
|
||||
%footer
|
||||
%p
|
||||
Foodsoft, open source software to manage a non-profit food coop.
|
||||
%p= t '.footer'
|
||||
#modalContainer.modal.hide.fade(tabindex="-1" role="dialog")
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
%html
|
||||
%head
|
||||
%meta{"http-equiv" => "content-type", :content => "text/html;charset=UTF-8"}
|
||||
%title= "FoodSoft - " + (yield(:title) or controller.controller_name)
|
||||
%title= t '.title', title: (yield(:title) or controller.controller_name)
|
||||
= stylesheet_link_tag 'application'
|
||||
= stylesheet_link_tag "print", :media => "print"
|
||||
<!--[if lte IE 7]>
|
||||
|
|
@ -17,7 +17,7 @@
|
|||
#header
|
||||
#logo
|
||||
= link_to root_path do
|
||||
<span>food</span>soft
|
||||
= t('layouts.logo').html_safe
|
||||
%span{:style => "color:white; font-size:45%; letter-spacing: -1px;"}= FoodsoftConfig[:name]
|
||||
#nav= render :partial => 'layouts/main_tabnav'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,3 @@
|
|||
= yield
|
||||
\
|
||||
\--
|
||||
FoodSoft: #{root_url}
|
||||
Foodcoop-Homepage: #{FoodsoftConfig[:homepage]}
|
||||
Hilfe/Help: #{FoodsoftConfig[:help_url]}
|
||||
= t '.footer', foodsoft: root_url, foodcoop: FoodsoftConfig[:homepage], help: FoodsoftConfig[:help_url]
|
||||
|
|
|
|||
|
|
@ -9,5 +9,4 @@
|
|||
= yield
|
||||
|
||||
%footer
|
||||
%p
|
||||
Foodsoft, open source software to manage a non-profit food coop.
|
||||
%p= t '.footer'
|
||||
|
|
|
|||
|
|
@ -2,22 +2,10 @@
|
|||
:javascript
|
||||
$('user_nick').focus();
|
||||
|
||||
- title "Einladung in die #{FoodsoftConfig[:name]}"
|
||||
%p
|
||||
Du bist eingeladen worden als Mitglied der Gruppe
|
||||
%b= @invite.group.name
|
||||
in der Foodcoop
|
||||
= FoodsoftConfig[:name]
|
||||
mitzumachen.
|
||||
%p
|
||||
Wenn Du mitmachen möchtest, dann fülle bitte dieses Formular aus.
|
||||
%p
|
||||
Deine Daten werden selbstverständlich nicht an Dritte, aus was auch immer für
|
||||
Gründen, weitergeben. Du kannst auch entscheiden, wieviel deiner persönlichen
|
||||
Daten für alle einsehbar sein sollen. 'Alle' bedeutet hier alle Foodcoop-Mitglieder.
|
||||
Die Administratoren haben aber jederzeit Zugriff auf deine Daten.
|
||||
- title t('.title', name: FoodsoftConfig[:name])
|
||||
= t('.body', group: h(@invite.group.name), foodcoop: h(FoodsoftConfig[:name])).html_safe
|
||||
= simple_form_for @user, url: accept_invitation_path do |form|
|
||||
= render partial: 'shared/user_form_fields', locals: {f: form}
|
||||
.form-actions
|
||||
= submit_tag "Foodsoft Account erstellen", class: 'btn'
|
||||
= submit_tag t('.submit'), class: 'btn'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,7 @@
|
|||
- title "Passwort vergessen?"
|
||||
%p
|
||||
Kein Problem, Du kannst dir einfach ein neues Passwort zulegen.
|
||||
%p
|
||||
Dazu musst hier die E-Mail-Adresse eingeben, mit der Du in der FoodSoft angemeldet bist.
|
||||
Du erhälst dann eine E-Mail mit weiteren Instruktionen.
|
||||
|
||||
- title t('.title')
|
||||
= t('.body').html_safe
|
||||
= simple_form_for User.new, url: {action: 'reset_password'} do |form|
|
||||
= form.input :email
|
||||
.form-actions
|
||||
= form.submit "Neues Passwort anfordern", class: 'btn'
|
||||
= link_to "oder abbrechen", :back
|
||||
= form.submit t('.submit'), class: 'btn'
|
||||
= link_to t('ui.or_cancel'), :back
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue