Big feactoring and bug fixing, Mailer, Tasks, GroupOrders
This commit is contained in:
parent
c936813967
commit
5fb0bc2444
43 changed files with 95 additions and 118 deletions
|
@ -1,3 +1,4 @@
|
|||
# encoding: utf-8
|
||||
class Finance::FinancialTransactionsController < ApplicationController
|
||||
before_filter :authenticate_finance
|
||||
before_filter :find_ordergroup, :except => [:new_collection, :create_collection]
|
||||
|
@ -38,8 +39,8 @@ class Finance::FinancialTransactionsController < ApplicationController
|
|||
@financial_transaction.user = current_user
|
||||
@financial_transaction.add_transaction!
|
||||
redirect_to finance_ordergroup_transactions_url(@ordergroup), :notice => "Die Transaktion wurde gespeichert."
|
||||
rescue
|
||||
render :action => :new
|
||||
#rescue
|
||||
# render :action => :new
|
||||
end
|
||||
|
||||
def new_collection
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
# Controller for all ordering-actions that are performed by a user who is member of an Ordergroup.
|
||||
# Management actions that require the "orders" role are handled by the OrdersController.
|
||||
class OrderingController < ApplicationController
|
||||
class GroupOrdersController < ApplicationController
|
||||
# Security
|
||||
before_filter :ensure_ordergroup_member
|
||||
before_filter :ensure_open_order, :only => [:new, :create, :edit, :update, :order, :stock_order, :saveOrder]
|
||||
before_filter :ensure_my_group_order, only: [:show, :edit, :update]
|
||||
|
||||
# Index page.
|
||||
def index
|
||||
|
@ -28,17 +29,14 @@ class OrderingController < ApplicationController
|
|||
end
|
||||
|
||||
def show
|
||||
@group_order = GroupOrder.find(params[:id])
|
||||
@order= @group_order.order
|
||||
end
|
||||
|
||||
def edit
|
||||
@group_order = GroupOrder.find(params[:id])
|
||||
@ordering_data = @group_order.load_data
|
||||
end
|
||||
|
||||
def update
|
||||
@group_order = GroupOrder.find(params[:id])
|
||||
@group_order.attributes = params[:group_order]
|
||||
begin
|
||||
@group_order.save_ordering!
|
||||
|
@ -84,4 +82,10 @@ class OrderingController < ApplicationController
|
|||
end
|
||||
end
|
||||
|
||||
def ensure_my_group_order
|
||||
@group_order = @ordergroup.group_orders.find(params[:id])
|
||||
rescue ActiveRecord::RecordNotFound
|
||||
redirect_to group_orders_url, alert: 'Fehlerhafte URL, das ist nicht Deine Bestellung.'
|
||||
end
|
||||
|
||||
end
|
|
@ -5,11 +5,12 @@ class LoginController < ApplicationController
|
|||
|
||||
# Display the form to enter an email address requesting a token to set a new password.
|
||||
def forgot_password
|
||||
@user = User.new
|
||||
end
|
||||
|
||||
# Sends an email to a user with the token that allows setting a new password through action "password".
|
||||
def reset_password
|
||||
if (user = User.find_by_email(params[:login][:email]))
|
||||
if (user = User.find_by_email(params[:user][:email]))
|
||||
user.reset_password_token = user.new_random_password(16)
|
||||
user.reset_password_expires = Time.now.advance(:days => 2)
|
||||
if user.save
|
||||
|
|
|
@ -14,9 +14,7 @@ class MessagesController < ApplicationController
|
|||
def create
|
||||
@message = @current_user.send_messages.new(params[:message])
|
||||
if @message.save
|
||||
#FIXME: Send Mails wit ID instead of using message.state ...
|
||||
#call_rake :send_emails
|
||||
@message.deliver
|
||||
@message.deliver #TODO: Put this into a background job
|
||||
redirect_to messages_url, :notice => "Nachricht ist gespeichert und wird versendet."
|
||||
else
|
||||
render :action => 'new'
|
||||
|
|
|
@ -40,9 +40,9 @@ class TasksController < ApplicationController
|
|||
@task.save
|
||||
flash[:notice] = "Aufgabe wurde aktualisiert"
|
||||
if @task.workgroup
|
||||
redirect_to :action => "workgroup", :id => @task.workgroup
|
||||
redirect_to workgroup_tasks_url(workgroup_id: @task.workgroup_id)
|
||||
else
|
||||
redirect_to :action => "index"
|
||||
redirect_to tasks_url
|
||||
end
|
||||
else
|
||||
render :template => "tasks/edit"
|
||||
|
@ -84,20 +84,9 @@ class TasksController < ApplicationController
|
|||
|
||||
# shows workgroup (normal group) to edit weekly_tasks_template
|
||||
def workgroup
|
||||
@group = Group.find(params[:id])
|
||||
@group = Group.find(params[:workgroup_id])
|
||||
if @group.is_a? Ordergroup
|
||||
redirect_to tasks_url, :alert => "Keine Arbeitsgruppe gefunden"
|
||||
end
|
||||
end
|
||||
|
||||
# this method is uses for the auto_complete-function from script.aculo.us
|
||||
def auto_complete_for_task_user_list
|
||||
@users = User.find(
|
||||
:all,
|
||||
:conditions => [ 'LOWER(nick) LIKE ?', '%' + params[:task][:user_list].downcase + '%' ],
|
||||
:order => 'nick ASC',
|
||||
:limit => 8
|
||||
)
|
||||
render :partial => '/shared/auto_complete_users'
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
module OrderingHelper
|
||||
module GroupOrdersHelper
|
||||
def data_to_js(ordering_data)
|
||||
ordering_data[:order_articles].map { |id, data|
|
||||
[id, data[:price], data[:unit], data[:total_price], data[:others_quantity], data[:others_tolerance], data[:used_quantity], data[:quantity_available]]
|
|
@ -4,15 +4,15 @@ class Mailer < ActionMailer::Base
|
|||
|
||||
layout 'email' # Use views/layouts/email.txt.erb
|
||||
|
||||
default from: "FoodSoft <#{Foodsoft.config[:email_sender]}>"
|
||||
default from: "FoodSoft <#{Foodsoft.config[:email_sender]}>",
|
||||
sender: Foodsoft.config[:email_sender],
|
||||
errors_to: Foodsoft.config[:email_sender]
|
||||
|
||||
# Sends an email copy of the given internal foodsoft message.
|
||||
def foodsoft_message(message, recipient)
|
||||
@message = message
|
||||
|
||||
mail sender: Foodsoft.config[:email_sender],
|
||||
errors_to: Foodsoft.config[:email_sender],
|
||||
subject: "[#{Foodsoft.config[:name]}] " + message.subject,
|
||||
mail subject: "[#{Foodsoft.config[:name]}] " + message.subject,
|
||||
to: recipient.email,
|
||||
from: "#{message.sender.nick} <#{message.sender.email}>"
|
||||
end
|
||||
|
@ -74,13 +74,12 @@ class Mailer < ActionMailer::Base
|
|||
:subject => "[Foodsoft] Feeback von #{user.email}"
|
||||
end
|
||||
|
||||
def not_enough_users_assigned(task,user)
|
||||
def not_enough_users_assigned(task, user)
|
||||
@task = task
|
||||
@user = user
|
||||
@task_url = url_for(:controller => "tasks", :action => "workgroup", :id => task.workgroup_id)
|
||||
|
||||
|
||||
mail :to => user.email,
|
||||
:subject => "[#{Foodsoft.config[:name]}] #{task.name} braucht noch Leute!"
|
||||
:subject => "[#{Foodsoft.config[:name]}] \"#{task.name}\" braucht noch Leute!"
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
@ -68,12 +68,12 @@ class Message < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def deliver
|
||||
for recipient in recipients
|
||||
if recipient.settings['messages.sendAsEmail'] == "1" && !recipient.email.blank?
|
||||
for user in recipients
|
||||
if user.receive_email?
|
||||
begin
|
||||
Mailer.foodsoft_message(self, recipient).deliver
|
||||
# rescue
|
||||
# logger.warn "Deliver failed for #{recipient.nick}: #{recipient.email}"
|
||||
Mailer.foodsoft_message(self, user).deliver
|
||||
rescue
|
||||
logger.warn "Deliver failed for #{user.nick}: #{user.email}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -48,7 +48,7 @@ class Ordergroup < Group
|
|||
self.account_balance = financial_transactions.sum('amount')
|
||||
self.account_updated = trans.created_on
|
||||
save!
|
||||
notify_negative_balance(trans)
|
||||
notify_negative_balance(trans)
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ class Task < ActiveRecord::Base
|
|||
validates :name, :presence => true, :length => { :minimum => 3 }
|
||||
validates :required_users, :presence => true
|
||||
validates_numericality_of :duration, :required_users, :only_integer => true, :greater_than => 0
|
||||
validates_length_of :description, maximum: 250
|
||||
|
||||
after_save :update_ordergroup_stats
|
||||
|
||||
|
|
|
@ -72,6 +72,10 @@ class User < ActiveRecord::Base
|
|||
[first_name, last_name].join(" ")
|
||||
end
|
||||
|
||||
def receive_email?
|
||||
settings['messages.sendAsEmail'] == "1" && email.present?
|
||||
end
|
||||
|
||||
def ordergroup_name
|
||||
ordergroup.name if ordergroup
|
||||
end
|
||||
|
|
|
@ -6,9 +6,10 @@ class Workgroup < Group
|
|||
has_many :open_tasks, :class_name => 'Task', :conditions => ['done = ?', false], :order => 'due_date ASC'
|
||||
|
||||
validates_presence_of :task_name, :weekday, :task_required_users, :next_weekly_tasks_number,
|
||||
:if => :weekly_task
|
||||
:if => :weekly_task
|
||||
validates_numericality_of :next_weekly_tasks_number, :greater_than => 0, :less_than => 21, :only_integer => true,
|
||||
:if => :weekly_task
|
||||
:if => :weekly_task
|
||||
validates_length_of :task_description, maximum: 250
|
||||
validate :last_admin_on_earth, :on => :update
|
||||
before_destroy :check_last_admin_group
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
- title "Neue Transaktion"
|
||||
|
||||
%p Hier kannst du der Bestellgruppe <b>#{@ordergroup.name}</b> Geld gutschreiben/abziehen.
|
||||
|
||||
= simple_form_for @financial_transaction, :url => finance_ordergroup_transactions_path(@ordergroup),
|
||||
:validate => true do |f|
|
||||
= f.association :ordergroup
|
||||
= f.hidden_field :ordergroup_id
|
||||
= f.input :amount
|
||||
= f.input :note, :as => :text
|
||||
= f.submit
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
.column_content
|
||||
= render :partial => 'shared/group', :locals => { :group => workgroup }
|
||||
%p
|
||||
= link_to "Alle Aufgaben zeigen", :controller => "/tasks", :action => "workgroup", :id => workgroup
|
||||
= link_to "Alle Aufgaben zeigen", workgroup_tasks_path(workgroup_id: workgroup)
|
||||
|
|
||||
= link_to "Mitgliedern eine Nachricht schicken", new_message_path(:message => {:group_id => workgroup.id})
|
||||
- if workgroup.member?(@current_user)
|
||||
|
|
|
@ -147,6 +147,6 @@
|
|||
€
|
||||
#order-button
|
||||
= submit_tag( "Bestellung speichern", :id => 'submit_button' )
|
||||
oder #{link_to "abbrechen", :controller => 'ordering'}
|
||||
oder #{link_to "abbrechen", 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}/
|
|
@ -11,7 +11,7 @@
|
|||
- group_order = order.group_order(@ordergroup) # Get GroupOrder if possible
|
||||
- order_class = group_order ? "" : "color:grey"
|
||||
%tr{:class=> cycle('even', 'odd', :name => 'orders'), :style => order_class}
|
||||
%td= link_to order.name, :action => 'my_order_result', :id => order
|
||||
%td= group_order.present? ? link_to(order.name, group_order_path(group_order)) : order.name
|
||||
%td= format_time(order.ends)
|
||||
%td{:class => "currency"}= group_order ? number_to_currency(group_order.price) : "--"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
- title "Bestellungen der #{@ordergroup.name}"
|
||||
%p
|
||||
Siehe hier alle
|
||||
= link_to "laufenden Bestellungen.", ordering_path
|
||||
= link_to "laufenden Bestellungen.", group_orders_path
|
||||
|
||||
.single_column{:style => "width:50em"}
|
||||
.box_title
|
|
@ -15,7 +15,7 @@
|
|||
Bestellungen
|
||||
%ul
|
||||
- if has_ordergroup
|
||||
%li= link_to "Bestellübersicht", :controller => "ordering"
|
||||
%li= link_to "Bestellübersicht", group_orders_path
|
||||
- if has_orders_role
|
||||
%li= link_to "Bestellungen beenden", :controller => 'orders'
|
||||
// Articles
|
||||
|
|
|
@ -24,10 +24,10 @@
|
|||
{ :name => "Alle Seiten", :url => all_pages_path }
|
||||
]
|
||||
},
|
||||
{ :name => "Bestellungen", :url => u.ordergroup ? ordering_path : orders_path,
|
||||
{ :name => "Bestellungen", :url => u.ordergroup ? group_orders_path : orders_path,
|
||||
:active => ["orders", "ordering"],
|
||||
:subnav => [
|
||||
{ :name => "Bestellen!", :url => ordering_path },
|
||||
{ :name => "Bestellen!", :url => group_orders_path },
|
||||
{ :name => "Meine Bestellungen", :url => archive_group_orders_path },
|
||||
{ :name => "Bestellverwaltung", :url => orders_path, :access_denied? => (!u.role_orders?) }
|
||||
]
|
||||
|
|
|
@ -5,12 +5,7 @@
|
|||
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.
|
||||
|
||||
.edit_form{:style => "width:25em"}
|
||||
- form_tag(:action => 'reset_password') do
|
||||
%p
|
||||
E-Mail:
|
||||
%br/
|
||||
= text_field 'login', 'email'
|
||||
= submit_tag 'Neues Passwort anfordern'
|
||||
|
|
||||
= link_to 'Abbrechen', login_path
|
||||
= simple_form_for User.new, url: {action: 'reset_password'} do |form|
|
||||
= form.input :email
|
||||
= form.submit "Neues Passwort anfordern"
|
||||
= link_to "Abbrechen", :back
|
|
@ -1,16 +1,6 @@
|
|||
- title "Neues Passwort"
|
||||
%p=h "Bitte neues Passwort für #{@user.nick} eingeben."
|
||||
.edit_form{:style => "width:25em"}
|
||||
- form_for @user, :url => {:action => 'update_password', :id => @user.id, :token => @user.reset_password_token} do |form|
|
||||
= form.error_messages :header_message => ""
|
||||
%p
|
||||
Neues Passwort
|
||||
%br/
|
||||
= form.password_field :password
|
||||
%p
|
||||
Passwort wiederholen
|
||||
%br/
|
||||
= form.password_field :password_confirmation
|
||||
= form.submit 'Speichern'
|
||||
|
|
||||
= link_to 'Abbrechen', login_path
|
||||
= simple_form_for @user, :url => {:action => 'update_password', :id => @user.id, :token => @user.reset_password_token} do |form|
|
||||
= form.input :password
|
||||
= form.input :password_confirmation
|
||||
= form.submit
|
|
@ -1,9 +1,3 @@
|
|||
Foodsoft-Nachricht
|
||||
|
||||
Von: <%= @message.sender.nick %>
|
||||
|
||||
======================================================================
|
||||
|
||||
<%= @message.body %>
|
||||
|
||||
======================================================================
|
||||
|
|
|
@ -2,7 +2,7 @@ Hallo!
|
|||
|
||||
<%= @invite.user.first_name %> <%= @invite.user.last_name %> (<%= @invite.user.email %>) hat dich in die Gruppe "<%= @invite.group.name %>" eingeladen.
|
||||
Um die Einladung anzunehmen und der Foodcoop beizutreten, gehe zu: <%= @link %>
|
||||
Dieser Link kann nur einmal aufgerufen werden und ist nur bis <%= @invite.expires_at.strftime('%A den %d.%m.%Y um %H:%M') %> gültig.
|
||||
Dieser Link kann nur einmal aufgerufen werden und ist nur bis <%= I18n.l @invite.expires_at %> gültig.
|
||||
|
||||
Grüße sendet die Foodsoft!
|
||||
|
||||
|
@ -12,6 +12,6 @@ Hi!
|
|||
|
||||
<%= @invite.user.first_name %> <%= @invite.user.last_name %> (<%= @invite.user.email %>) has invited you to join the group "<%= @invite.group.name %>".
|
||||
To accept the invitation and to join the foodcoop please follow this link: <%= @link %>
|
||||
This link works only once and expires on <%= @invite.expires_at.strftime('%A den %d.%m.%Y um %H:%M') %>.
|
||||
This link works only once and expires on <%= I18n.l @invite.expires_at, locale: :en %>.
|
||||
|
||||
Greetings, your FoodSoft Team!
|
|
@ -1,11 +0,0 @@
|
|||
Liebe(r) <%= @user.first_name %>,
|
||||
|
||||
Der Job <%= @task.name -%> Deiner Arbeitsgruppe ist am <%= @task.due_date.strftime("%d. %b") -%> fällig
|
||||
und es fehlen noch Mitstreiterinnen!
|
||||
|
||||
Sofern Du Dich noch nicht für diese Aufgabe eingetragen hast ist das jetzt die Chance:
|
||||
<%= @task_url %>
|
||||
|
||||
--
|
||||
Deine Aufgaben: <%= url_for(:controller => "home", :actions => "user") %>
|
||||
|
11
app/views/mailer/not_enough_users_assigned.text.erb
Normal file
11
app/views/mailer/not_enough_users_assigned.text.erb
Normal file
|
@ -0,0 +1,11 @@
|
|||
Liebe(r) <%= @user.first_name %>,
|
||||
|
||||
Der Job '<%= @task.name -%>' Deiner Arbeitsgruppe ist am <%= I18n.l @task.due_date, format: "%d. %b" %> fällig
|
||||
und es fehlen noch Mitstreiterinnen!
|
||||
|
||||
Sofern Du Dich noch nicht für diese Aufgabe eingetragen hast ist das jetzt die Chance:
|
||||
<%= workgroup_tasks_url(workgroup_id: task.workgroup_id) %>
|
||||
|
||||
--
|
||||
Deine Aufgaben: <%= user_tasks_url %>
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
Liebe <%= @group_order.ordergroup.name %>,
|
||||
|
||||
die Bestellung für "<%= @order.name %>" wurde am <%= @order.ends.strftime('%d.%m.%Y um %H:%M') %> von <%= @order.updated_by.nick %> beendet.
|
||||
die Bestellung für "<%= @order.name %>" wurde am <%= I18n.l @order.ends %> von <%= @order.updated_by.nick %> beendet.
|
||||
|
||||
Für Euch wurden die folgenden Artikel bestellt:
|
||||
<% for group_order_article in @group_order.group_order_articles.ordered.all(:include => :order_article)
|
||||
|
@ -9,6 +9,6 @@ Für Euch wurden die folgenden Artikel bestellt:
|
|||
<% end -%>
|
||||
Gesamtpreis: <%= @group_order.price %>
|
||||
|
||||
Bestellung online einsehen: <%= url_for(:controller => "ordering", :action => "my_order_result", :id => @order.id) %>
|
||||
Bestellung online einsehen: <%= group_order_url(@group_order) %>
|
||||
|
||||
Viele Grüße von <%= Foodsoft.config[:name] %>
|
|
@ -2,7 +2,7 @@ Hallo <%= @user.nick %>,
|
|||
|
||||
du (oder jemand anderes) hat auf der FoodSoft-Website ein neues Passwort angefordert.
|
||||
Um ein neues Passwort einzugeben, gehe zu: <%= @link %>
|
||||
Dieser Link kann nur einmal aufgerufen werden und läuft am <%= @user.reset_password_expires.strftime('%A (%d.%m.%Y %H:%M)') %> ab.
|
||||
Dieser Link kann nur einmal aufgerufen werden und läuft am <%= I18n.l @user.reset_password_expires %> ab.
|
||||
Wenn du das Passwort nicht ändern möchtest oder diese Email nicht ausgelöst hast, brauchst du nichts zu tun. Dein bisheriges Passwort wurde nicht geändert.
|
||||
|
||||
Grüße sendet die Foodsoft! :)
|
||||
|
@ -12,7 +12,7 @@ Grüße sendet die Foodsoft! :)
|
|||
Hi <%= @user.nick %>,
|
||||
you have (or someone else has) requested a new password.
|
||||
In order to choose a new password follow this link: <%= @link %>
|
||||
This link works only once and expires on <%= @user.reset_password_expires.strftime('%A (%d.%m.%Y %H:%M)') %>.
|
||||
This link works only once and expires on <%= I18n.l @user.reset_password_expires, locale: :en %>.
|
||||
If you don't want to change your password, just ignore this message. Your password hasn't been changed yet.
|
||||
|
||||
Greetings, your FoodSoft Team!
|
|
@ -1,16 +0,0 @@
|
|||
Liebe(r) <%= @user.name %>,
|
||||
|
||||
Du bist für "<%= @task.name -%>" eingetragen. Die Aufgabe ist morgen (<%= @task.due_date.strftime("%d. %b") -%>) fällig!
|
||||
|
||||
<% if @user.next_tasks.size > 1 -%>
|
||||
Aufgaben für die nächste Woche:
|
||||
<% for next_task in @user.next_tasks -%>
|
||||
<% unless next_task == @task -%>
|
||||
* <%= next_task.due_date.strftime("%d.%m.") -%> <%= next_task.name %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
Meine Aufgaben: <%= url_for(:controller => "home", :actions => "user") %>
|
||||
|
||||
Viele Grüße von <%= Foodsoft.config[:name] %>
|
15
app/views/mailer/upcoming_tasks.text.erb
Normal file
15
app/views/mailer/upcoming_tasks.text.erb
Normal file
|
@ -0,0 +1,15 @@
|
|||
Liebe(r) <%= @user.name %>,
|
||||
|
||||
Du bist für "<%= @task.name -%>" eingetragen. Die Aufgabe ist morgen (<%= I18n.l @task.due_date, format: "%d. %b" %>) fällig!
|
||||
|
||||
<% if @user.next_tasks.size > 0 %>
|
||||
Aufgaben für die nächste Woche:
|
||||
<% for next_task in @user.next_tasks -%>
|
||||
<% next if next_task == @task -%>
|
||||
* <%= I18n.l next_task.due_date, format: "%d. %b" -%> <%= next_task.name %>
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
Meine Aufgaben: <%= user_tasks_url %>
|
||||
|
||||
Viele Grüße von <%= Foodsoft.config[:name] %>
|
|
@ -11,7 +11,7 @@
|
|||
= f.input :task_name
|
||||
= f.input :task_required_users
|
||||
= f.input :task_duration, :as => :select, :collection => (1..3)
|
||||
= f.input :task_description
|
||||
= f.input :task_description, as: :text, input_html: {rows: 10}
|
||||
= f.input :next_weekly_tasks_number
|
||||
|
||||
= f.input :user_tokens, :as => :string, :input_html => { 'data-pre' => f.object.users.map { |u| u.token_attributes }.to_json }
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
= simple_form_for @task do |f|
|
||||
= f.input :name
|
||||
= f.input :description
|
||||
= f.input :description, as: :text, input_html: {rows: 10}
|
||||
= f.input :duration, :as => :select, :collection => 1..3
|
||||
= f.input :user_list, :as => :string, :input_html => { 'data-pre' => @task.users.map { |u| u.token_attributes }.to_json }
|
||||
= f.input :required_users
|
||||
|
|
|
@ -16,4 +16,4 @@
|
|||
Gruppenaufgaben
|
||||
%ul
|
||||
- for group in Workgroup.all
|
||||
%li= link_to group.name, :controller => 'tasks', :action => "workgroup", :id => group
|
||||
%li= link_to group.name, workgroup_tasks_path(workgroup_id: group.id)
|
|
@ -23,7 +23,7 @@
|
|||
%td Arbeitsgruppe
|
||||
%td
|
||||
- if @task.workgroup
|
||||
= link_to @task.workgroup.name, :action => "workgroup", :id => @task.workgroup
|
||||
= link_to @task.workgroup.name, workgroup_tasks_path(workgroup_id: @task.workgroup_id)
|
||||
|
||||
%tr
|
||||
%td{:colspan => "2"}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
%h2 Wöchentliche Aufgaben verwalten
|
||||
.column_content
|
||||
- if @group.weekly_task
|
||||
%p= "Jeden <b>#{weekday(@group.weekday)}</b> hat diese Arbeitsgruppe folgenden Job: <b>#{@group.task_name}</b>"
|
||||
%p Jeden <b>#{weekday(@group.weekday)}</b> hat diese Arbeitsgruppe folgenden Job: <b>#{@group.task_name}</b>
|
||||
%p Die Wochenaufgaben werden von der Foodsoft automatisch erstellt. Eintragen müsst Ihr Euch aber selber.
|
||||
- else
|
||||
Noch keine Wochenaufgaben angelegt.
|
||||
|
|
|
@ -44,10 +44,9 @@ Foodsoft::Application.routes.draw do
|
|||
end
|
||||
end
|
||||
|
||||
resources :group_orders, :controller => 'ordering', :path => 'ordering' do
|
||||
resources :group_orders do
|
||||
get :archive, :on => :collection
|
||||
end
|
||||
match '/ordering' => 'ordering#index', :as => 'ordering'
|
||||
|
||||
resources :order_comments, :only => [:new, :create]
|
||||
|
||||
|
|
Loading…
Reference in a new issue