simple_teams 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +62 -7
  3. data/app/controllers/simple_teams/accept_invitations_controller.rb +1 -1
  4. data/app/controllers/simple_teams/invitations_controller.rb +1 -1
  5. data/app/controllers/simple_teams/memberships_controller.rb +1 -1
  6. data/app/forms/application_form.rb +3 -0
  7. data/app/forms/simple_teams/invitation_forms/create.rb +1 -1
  8. data/app/forms/simple_teams/invitation_forms/create_bulk.rb +1 -1
  9. data/app/forms/simple_teams/invitation_forms/update.rb +1 -1
  10. data/app/forms/simple_teams/membership_form.rb +1 -1
  11. data/app/helpers/simple_teams/base_helper.rb +11 -0
  12. data/app/helpers/simple_teams/teams_helper.rb +7 -0
  13. data/app/mailers/simple_teams/application_mailer.rb +1 -1
  14. data/app/models/concerns/simple_teams/member_object.rb +1 -0
  15. data/app/models/simple_teams/ability.rb +2 -2
  16. data/app/notifiers/concerns/simple_teams/invitation_notifier.rb +59 -0
  17. data/app/notifiers/concerns/simple_teams/membership_notifier.rb +63 -0
  18. data/app/notifiers/simple_teams/application_notifier.rb +6 -0
  19. data/app/notifiers/simple_teams/bulk_invitations_notifier.rb +52 -0
  20. data/app/notifiers/simple_teams/invitations/accepted_notifier.rb +16 -0
  21. data/app/notifiers/simple_teams/invitations/created_notifier.rb +16 -0
  22. data/app/notifiers/simple_teams/invitations/destroyed_notifier.rb +16 -0
  23. data/app/notifiers/simple_teams/invitations/updated_notifier.rb +16 -0
  24. data/app/notifiers/simple_teams/memberships/destroyed_notifier.rb +16 -0
  25. data/app/notifiers/simple_teams/memberships/left_notifier.rb +20 -0
  26. data/app/notifiers/simple_teams/memberships/updated_notifier.rb +20 -0
  27. data/app/service_objects/simple_teams/leave_team_service.rb +1 -1
  28. data/app/views/simple_teams/_nested_action_breadcrumb.html.erb +8 -0
  29. data/app/views/simple_teams/_roles_field.html.erb +2 -2
  30. data/app/views/simple_teams/invitations/_invitation.html.erb +1 -1
  31. data/app/views/simple_teams/invitations/edit.html.erb +1 -6
  32. data/app/views/simple_teams/invitations/new.html.erb +1 -6
  33. data/app/views/simple_teams/memberships/_membership.html.erb +1 -1
  34. data/app/views/simple_teams/memberships/edit.html.erb +1 -6
  35. data/app/views/simple_teams/teams/_add_member_link.html.erb +1 -1
  36. data/app/views/simple_teams/teams/_dropdown_menu.html.erb +13 -0
  37. data/app/views/simple_teams/teams/_index_breadcrumb.html.erb +7 -0
  38. data/app/views/simple_teams/teams/_members_table.html.erb +1 -1
  39. data/app/views/simple_teams/teams/show.html.erb +6 -33
  40. data/config/locales/simple_teams.en.yml +18 -3
  41. data/lib/simple_teams/engine.rb +5 -0
  42. data/lib/simple_teams/version.rb +1 -1
  43. metadata +78 -38
  44. data/app/controllers/simple_teams/admin/invitations_controller.rb +0 -60
  45. data/app/controllers/simple_teams/admin/memberships_controller.rb +0 -60
  46. data/app/controllers/simple_teams/admin/teams_controller.rb +0 -60
  47. data/app/notifications/application_notification.rb +0 -4
  48. data/app/notifications/simple_teams/bulk_invitations_notification.rb +0 -51
  49. data/app/notifications/simple_teams/invitation_notification.rb +0 -54
  50. data/app/notifications/simple_teams/invitations/accepted_notification.rb +0 -13
  51. data/app/notifications/simple_teams/invitations/created_notification.rb +0 -13
  52. data/app/notifications/simple_teams/invitations/destroyed_notification.rb +0 -13
  53. data/app/notifications/simple_teams/invitations/updated_notification.rb +0 -13
  54. data/app/notifications/simple_teams/membership_notification.rb +0 -58
  55. data/app/notifications/simple_teams/memberships/destroyed_notification.rb +0 -13
  56. data/app/notifications/simple_teams/memberships/left_notification.rb +0 -17
  57. data/app/notifications/simple_teams/memberships/updated_notification.rb +0 -17
  58. data/app/views/simple_teams/admin/invitations/_form.html.erb +0 -62
  59. data/app/views/simple_teams/admin/invitations/_invitation.html.erb +0 -47
  60. data/app/views/simple_teams/admin/invitations/edit.html.erb +0 -10
  61. data/app/views/simple_teams/admin/invitations/index.html.erb +0 -14
  62. data/app/views/simple_teams/admin/invitations/new.html.erb +0 -9
  63. data/app/views/simple_teams/admin/invitations/show.html.erb +0 -10
  64. data/app/views/simple_teams/admin/memberships/_form.html.erb +0 -32
  65. data/app/views/simple_teams/admin/memberships/_membership.html.erb +0 -17
  66. data/app/views/simple_teams/admin/memberships/edit.html.erb +0 -10
  67. data/app/views/simple_teams/admin/memberships/index.html.erb +0 -14
  68. data/app/views/simple_teams/admin/memberships/new.html.erb +0 -9
  69. data/app/views/simple_teams/admin/memberships/show.html.erb +0 -10
  70. data/app/views/simple_teams/admin/teams/_form.html.erb +0 -22
  71. data/app/views/simple_teams/admin/teams/_team.html.erb +0 -7
  72. data/app/views/simple_teams/admin/teams/edit.html.erb +0 -10
  73. data/app/views/simple_teams/admin/teams/index.html.erb +0 -14
  74. data/app/views/simple_teams/admin/teams/new.html.erb +0 -9
  75. data/app/views/simple_teams/admin/teams/show.html.erb +0 -10
@@ -1,58 +0,0 @@
1
- module SimpleTeams
2
- class MembershipNotification < ApplicationNotification
3
- param :team_id, :member_id, :user_id, :team_name, :member_name, :user_name
4
-
5
- def message
6
- raise NotImplemented
7
- end
8
-
9
- def subject
10
- raise NotImplemented
11
- end
12
-
13
- def url
14
- if team.present? and team.members.include? recipient
15
- "/teams/#{team.id}"
16
- end
17
- end
18
-
19
- def link_text
20
- "View Permissions"
21
- end
22
-
23
- # Objects
24
- def team
25
- Team.find_by(id: params[:team_id])
26
- end
27
-
28
- def user
29
- SimpleTeams.member_class.find_by(id: params[:user_id])
30
- end
31
-
32
- def member
33
- team.members.find_by(id: params[:member_id]) if team.present?
34
- end
35
-
36
- # Names (fallback)
37
- def team_name
38
- team.present? ? team.name : params[:team_name]
39
- end
40
-
41
- def member_name
42
- if recipient.id == params[:member_id]
43
- "you"
44
- else
45
- member.present? ? member.full_name : params[:member_name]
46
- end
47
- end
48
-
49
- def user_name
50
- if recipient.id == params[:user_id]
51
- "You"
52
- else
53
- user.present? ? user.full_name : params[:user_name]
54
- end
55
- end
56
-
57
- end
58
- end
@@ -1,13 +0,0 @@
1
- module SimpleTeams
2
- class Memberships::DestroyedNotification < SimpleTeams::MembershipNotification
3
-
4
- def message
5
- "#{user_name} removed #{member_name} from #{team_name}."
6
- end
7
-
8
- def subject
9
- "Member Removed"
10
- end
11
-
12
- end
13
- end
@@ -1,17 +0,0 @@
1
- module SimpleTeams
2
- class Memberships::LeftNotification < SimpleTeams::MembershipNotification
3
-
4
- def message
5
- if recipient.id == params[:member_id]
6
- "You left #{team_name}."
7
- else
8
- "#{member_name} left #{team_name}."
9
- end
10
- end
11
-
12
- def subject
13
- "Member Left"
14
- end
15
-
16
- end
17
- end
@@ -1,17 +0,0 @@
1
- module SimpleTeams
2
- class Memberships::UpdatedNotification < SimpleTeams::MembershipNotification
3
-
4
- def message
5
- if recipient.id == params[:member_id]
6
- "#{user_name} updated your role for #{team_name}."
7
- else
8
- "#{user_name} updated the role of #{member_name} for #{team_name}."
9
- end
10
- end
11
-
12
- def subject
13
- "Member Updated"
14
- end
15
-
16
- end
17
- end
@@ -1,62 +0,0 @@
1
- <%= form_with(model: invitation) do |form| %>
2
- <% if invitation.errors.any? %>
3
- <div style="color: red">
4
- <h2><%= pluralize(invitation.errors.count, "error") %> prohibited this invitation from being saved:</h2>
5
-
6
- <ul>
7
- <% invitation.errors.each do |error| %>
8
- <li><%= error.full_message %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
13
-
14
- <div>
15
- <%= form.label :team_id, style: "display: block" %>
16
- <%= form.text_field :team_id %>
17
- </div>
18
-
19
- <div>
20
- <%= form.label :inviter_id, style: "display: block" %>
21
- <%= form.text_field :inviter_id %>
22
- </div>
23
-
24
- <div>
25
- <%= form.label :membership_id, style: "display: block" %>
26
- <%= form.text_field :membership_id %>
27
- </div>
28
-
29
- <div>
30
- <%= form.label :email, style: "display: block" %>
31
- <%= form.text_field :email %>
32
- </div>
33
-
34
- <div>
35
- <%= form.label :role, style: "display: block" %>
36
- <%= form.text_field :role %>
37
- </div>
38
-
39
- <div>
40
- <%= form.label :token, style: "display: block" %>
41
- <%= form.text_field :token %>
42
- </div>
43
-
44
- <div>
45
- <%= form.label :status, style: "display: block" %>
46
- <%= form.number_field :status %>
47
- </div>
48
-
49
- <div>
50
- <%= form.label :sent_at, style: "display: block" %>
51
- <%= form.datetime_field :sent_at %>
52
- </div>
53
-
54
- <div>
55
- <%= form.label :expires_at, style: "display: block" %>
56
- <%= form.datetime_field :expires_at %>
57
- </div>
58
-
59
- <div>
60
- <%= form.submit %>
61
- </div>
62
- <% end %>
@@ -1,47 +0,0 @@
1
- <div id="<%= dom_id invitation %>">
2
- <p>
3
- <strong>Team:</strong>
4
- <%= invitation.team_id %>
5
- </p>
6
-
7
- <p>
8
- <strong>Inviter:</strong>
9
- <%= invitation.inviter_id %>
10
- </p>
11
-
12
- <p>
13
- <strong>Membership:</strong>
14
- <%= invitation.membership_id %>
15
- </p>
16
-
17
- <p>
18
- <strong>Email:</strong>
19
- <%= invitation.email %>
20
- </p>
21
-
22
- <p>
23
- <strong>Role:</strong>
24
- <%= invitation.role %>
25
- </p>
26
-
27
- <p>
28
- <strong>Token:</strong>
29
- <%= invitation.token %>
30
- </p>
31
-
32
- <p>
33
- <strong>Status:</strong>
34
- <%= invitation.status %>
35
- </p>
36
-
37
- <p>
38
- <strong>Sent at:</strong>
39
- <%= invitation.sent_at %>
40
- </p>
41
-
42
- <p>
43
- <strong>Expires at:</strong>
44
- <%= invitation.expires_at %>
45
- </p>
46
-
47
- </div>
@@ -1,10 +0,0 @@
1
- <h1>Editing invitation</h1>
2
-
3
- <%= render "form", invitation: @invitation %>
4
-
5
- <br>
6
-
7
- <div>
8
- <%= link_to "Show this invitation", @invitation %> |
9
- <%= link_to "Back to invitations", invitations_path %>
10
- </div>
@@ -1,14 +0,0 @@
1
- <p style="color: green"><%= notice %></p>
2
-
3
- <h1>Invitations</h1>
4
-
5
- <div id="invitations">
6
- <% @invitations.each do |invitation| %>
7
- <%= render invitation %>
8
- <p>
9
- <%= link_to "Show this invitation", invitation %>
10
- </p>
11
- <% end %>
12
- </div>
13
-
14
- <%= link_to "New invitation", new_invitation_path %>
@@ -1,9 +0,0 @@
1
- <h1>New invitation</h1>
2
-
3
- <%= render "form", invitation: @invitation %>
4
-
5
- <br>
6
-
7
- <div>
8
- <%= link_to "Back to invitations", invitations_path %>
9
- </div>
@@ -1,10 +0,0 @@
1
- <p style="color: green"><%= notice %></p>
2
-
3
- <%= render @invitation %>
4
-
5
- <div>
6
- <%= link_to "Edit this invitation", edit_invitation_path(@invitation) %> |
7
- <%= link_to "Back to invitations", invitations_path %>
8
-
9
- <%= button_to "Destroy this invitation", @invitation, method: :delete %>
10
- </div>
@@ -1,32 +0,0 @@
1
- <%= form_with(model: membership) do |form| %>
2
- <% if membership.errors.any? %>
3
- <div style="color: red">
4
- <h2><%= pluralize(membership.errors.count, "error") %> prohibited this membership from being saved:</h2>
5
-
6
- <ul>
7
- <% membership.errors.each do |error| %>
8
- <li><%= error.full_message %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
13
-
14
- <div>
15
- <%= form.label :team_id, style: "display: block" %>
16
- <%= form.text_field :team_id %>
17
- </div>
18
-
19
- <div>
20
- <%= form.label :member_id, style: "display: block" %>
21
- <%= form.text_field :member_id %>
22
- </div>
23
-
24
- <div>
25
- <%= form.label :role, style: "display: block" %>
26
- <%= form.number_field :role %>
27
- </div>
28
-
29
- <div>
30
- <%= form.submit %>
31
- </div>
32
- <% end %>
@@ -1,17 +0,0 @@
1
- <div id="<%= dom_id membership %>">
2
- <p>
3
- <strong>Team:</strong>
4
- <%= membership.team_id %>
5
- </p>
6
-
7
- <p>
8
- <strong>Member:</strong>
9
- <%= membership.member_id %>
10
- </p>
11
-
12
- <p>
13
- <strong>Role:</strong>
14
- <%= membership.role %>
15
- </p>
16
-
17
- </div>
@@ -1,10 +0,0 @@
1
- <h1>Editing membership</h1>
2
-
3
- <%= render "form", membership: @membership %>
4
-
5
- <br>
6
-
7
- <div>
8
- <%= link_to "Show this membership", @membership %> |
9
- <%= link_to "Back to memberships", memberships_path %>
10
- </div>
@@ -1,14 +0,0 @@
1
- <p style="color: green"><%= notice %></p>
2
-
3
- <h1>Memberships</h1>
4
-
5
- <div id="memberships">
6
- <% @memberships.each do |membership| %>
7
- <%= render membership %>
8
- <p>
9
- <%= link_to "Show this membership", membership %>
10
- </p>
11
- <% end %>
12
- </div>
13
-
14
- <%= link_to "New membership", new_membership_path %>
@@ -1,9 +0,0 @@
1
- <h1>New membership</h1>
2
-
3
- <%= render "form", membership: @membership %>
4
-
5
- <br>
6
-
7
- <div>
8
- <%= link_to "Back to memberships", memberships_path %>
9
- </div>
@@ -1,10 +0,0 @@
1
- <p style="color: green"><%= notice %></p>
2
-
3
- <%= render @membership %>
4
-
5
- <div>
6
- <%= link_to "Edit this membership", edit_membership_path(@membership) %> |
7
- <%= link_to "Back to memberships", memberships_path %>
8
-
9
- <%= button_to "Destroy this membership", @membership, method: :delete %>
10
- </div>
@@ -1,22 +0,0 @@
1
- <%= form_with(model: team) do |form| %>
2
- <% if team.errors.any? %>
3
- <div style="color: red">
4
- <h2><%= pluralize(team.errors.count, "error") %> prohibited this team from being saved:</h2>
5
-
6
- <ul>
7
- <% team.errors.each do |error| %>
8
- <li><%= error.full_message %></li>
9
- <% end %>
10
- </ul>
11
- </div>
12
- <% end %>
13
-
14
- <div>
15
- <%= form.label :teamable_id, style: "display: block" %>
16
- <%= form.text_field :teamable_id %>
17
- </div>
18
-
19
- <div>
20
- <%= form.submit %>
21
- </div>
22
- <% end %>
@@ -1,7 +0,0 @@
1
- <div id="<%= dom_id team %>">
2
- <p>
3
- <strong>Teamable:</strong>
4
- <%= team.teamable_id %>
5
- </p>
6
-
7
- </div>
@@ -1,10 +0,0 @@
1
- <h1>Editing team</h1>
2
-
3
- <%= render "form", team: @team %>
4
-
5
- <br>
6
-
7
- <div>
8
- <%= link_to "Show this team", @team %> |
9
- <%= link_to "Back to teams", teams_path %>
10
- </div>
@@ -1,14 +0,0 @@
1
- <p style="color: green"><%= notice %></p>
2
-
3
- <h1>Teams</h1>
4
-
5
- <div id="teams">
6
- <% @teams.each do |team| %>
7
- <%= render team %>
8
- <p>
9
- <%= link_to "Show this team", team %>
10
- </p>
11
- <% end %>
12
- </div>
13
-
14
- <%= link_to "New team", new_team_path %>
@@ -1,9 +0,0 @@
1
- <h1>New team</h1>
2
-
3
- <%= render "form", team: @team %>
4
-
5
- <br>
6
-
7
- <div>
8
- <%= link_to "Back to teams", teams_path %>
9
- </div>
@@ -1,10 +0,0 @@
1
- <p style="color: green"><%= notice %></p>
2
-
3
- <%= render @team %>
4
-
5
- <div>
6
- <%= link_to "Edit this team", edit_team_path(@team) %> |
7
- <%= link_to "Back to teams", teams_path %>
8
-
9
- <%= button_to "Destroy this team", @team, method: :delete %>
10
- </div>