Skip to content

Commit 1c918de

Browse files
committed
Rename Task to Assignment
1 parent 9e19c9a commit 1c918de

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+423
-423
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
class AssignmentsController < ApplicationController
2+
load_and_authorize_resource
3+
before_action :set_assignment, only: %i[edit update destroy]
4+
5+
def new
6+
@assignment = Assignment.new(assigned_from_user: current_user.id, assigned_entry: params['entry_id'])
7+
end
8+
9+
def edit
10+
end
11+
12+
def create
13+
@assignment = Assignment.new(assignment_params.merge({assigned_to_date: calc_expiry_date}))
14+
if @assignment.save
15+
redirect_to user_entries_path(@assignment.assigned_to_user), notice: 'Assignment was successfully created.'
16+
AssignmentNotifier.create(@assignment).deliver_now
17+
else
18+
render :new
19+
end
20+
end
21+
22+
def update
23+
if @assignment.update(assignment_params.merge({assigned_to_date: calc_expiry_date}))
24+
redirect_to user_entries_path(@assignment.assigned_to_user), notice: 'Task was successfully updated.'
25+
AssignmentNotifier.create(@assignment).deliver_now
26+
else
27+
render :edit
28+
end
29+
end
30+
31+
def destroy
32+
assignment_recipient = @assignment.assigned_to_user
33+
if @assignment.destroy
34+
redirect_to user_entries_path(assignment_recipient), notice: 'Task was successfully destroyed.'
35+
AssignmentNotifier.done(@assignment).deliver_now
36+
end
37+
end
38+
39+
private
40+
41+
# Use callbacks to share common setup or constraints between actions.
42+
def set_assignment
43+
@assignment = Assignment.find(params[:id])
44+
end
45+
46+
# Only allow a trusted parameter "white list" through.
47+
def assignment_params
48+
params.require(:assignment).permit(:assigned_from_user, :assigned_to_user, :assigned_at_date, :assigned_to_date, :assigned_entry)
49+
end
50+
51+
def calc_expiry_date
52+
Date.today + (assignment_params[:assigned_to_date].to_i).month
53+
end
54+
55+
end

app/controllers/entries_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def new
2828
end
2929

3030
def edit
31-
flash.now[:notice] = "In Bearbeitung von #{@entry.user.name} zum #{@entry.task.assigned_to_date}" if @entry.task
31+
flash.now[:notice] = "In Bearbeitung von #{@entry.user.name} zum #{@entry.task.assigned_to_date}" if @entry.assignment
3232
end
3333

3434
def create

app/controllers/tasks_controller.rb

Lines changed: 0 additions & 55 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
module TasksHelper
1+
module AssignmentsHelper
22
def entry
33
Entry.find(assigned_entry)
44
end
55

6-
def name_of_assigned_user
6+
def name_of_recipient
77
User.find(assigned_to_user).name
88
end
99

10-
def email_of_assigned_user
10+
def email_of_recipient
1111
User.find(assigned_to_user).email
1212
end
1313

14-
def name_of_task_creator
14+
def name_of_creator
1515
User.find(assigned_from_user).name
1616
end
1717

18-
def email_of_task_creator
18+
def email_of_creator
1919
User.find(assigned_from_user).email
2020
end
2121
end

app/mailers/assignment_notifier.rb

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
class AssignmentNotifier < ApplicationMailer
2+
3+
# Subject can be set in your I18n file at config/locales/en.yml
4+
# with the following lookup:
5+
#
6+
# en.assignment_notifier.assignment_assigned.subject
7+
#
8+
def create(assignment)
9+
@assignment = assignment
10+
11+
mail to: User.find(assignment.assigned_to_user).email
12+
end
13+
14+
# Subject can be set in your I18n file at config/locales/en.yml
15+
# with the following lookup:
16+
#
17+
# en.assignment_notifier.assignment_done.subject
18+
#
19+
def done(assignment)
20+
@assignment = assignment
21+
22+
mail to: User.find(assignment.assigned_from_user).email
23+
end
24+
25+
# Subject can be set in your I18n file at config/locales/en.yml
26+
# with the following lookup:
27+
#
28+
# en.assignment_notifier.reminder.subject
29+
#
30+
def expired(assignment)
31+
@assignment = assignment
32+
33+
mail to: User.find(assignment.assigned_from_user).email
34+
end
35+
end

app/mailers/task_notifier.rb

Lines changed: 0 additions & 35 deletions
This file was deleted.

app/models/ability.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ def initialize(user)
99
can :index, User
1010
can :manage, Entry
1111
can :manage, Comment
12-
can :destroy, Task
12+
can :destroy, Assignment
1313
elsif user.author?
1414
can :index, User
1515
can [:index,:show, :new], Entry
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
class Task < ActiveRecord::Base
2-
include TasksHelper
1+
class Assignment < ActiveRecord::Base
2+
include AssignmentsHelper
33
validates :assigned_from_user, :assigned_to_user, :assigned_at_date, :assigned_to_date, presence: true
44
before_save :update_user_id_in_entry
55

app/models/entry.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ class Entry < ActiveRecord::Base
4141
validate :group_uebersetzungen_quellenangaben_literatur_und_ergaenzungen
4242

4343
before_save :cleanup
44-
before_destroy :destroy_related_task
44+
before_destroy :destroy_related_assignment
4545

4646
scope :published, -> { where(freigeschaltet: true) }
4747

48-
def destroy_related_task
49-
related_task = Task.where(assigned_entry: self).first
50-
related_task.destroy unless related_task.blank?
48+
def destroy_related_assignment
49+
related_assignment = Assignment.where(assigned_entry: self).first
50+
related_assignment.destroy unless related_assignment.blank?
5151
end
5252

5353
def self.search(column = 'all', query)
@@ -122,7 +122,7 @@ def self.label_bearbeitungsstand
122122
end
123123
end
124124

125-
def task
126-
Task.find_by(assigned_entry: id)
125+
def assignment
126+
Assignment.find_by(assigned_entry: id)
127127
end
128128
end

app/models/user.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class User < ActiveRecord::Base
1111

1212

1313
def assigned_tasks
14-
Task.where(assigned_to_user: self.id)
14+
Assignment.where(assigned_to_user: self.id)
1515
end
1616

1717
def admin?

0 commit comments

Comments
 (0)