Assign rewards to agents in reward creation page

James Peret 10 lat temu
rodzic
commit
9dfbc8a298

+ 9 - 1
app/controllers/mission_editor/rewards_controller.rb

@@ -38,6 +38,14 @@ class MissionEditor::RewardsController < ApplicationController
38 38
   # PATCH/PUT /rewards/1.json
39 39
   def update
40 40
     @reward.mission = @mission
41
+    agents = params[:reward][:mission_agents]
42
+    @reward.mission_agents = []
43
+    agents.each do |a|
44
+      if a != ""
45
+        agent = MissionAgent.find(a.to_i)
46
+        @reward.mission_agents << agent 
47
+      end
48
+    end
41 49
     respond_to do |format|
42 50
       if @reward.update(reward_params)
43 51
         format.html { redirect_to rewards_path, notice: 'Reward was successfully updated.' }
@@ -71,6 +79,6 @@ class MissionEditor::RewardsController < ApplicationController
71 79
 
72 80
     # Never trust parameters from the scary internet, only allow the white list through.
73 81
     def reward_params
74
-      params.require(:reward).permit(:title, :description, :img)
82
+      params.require(:reward).permit(:title, :description, :img, :mission_agents)
75 83
     end
76 84
 end

+ 61 - 22
app/views/mission_editor/agents/_form.html.erb

@@ -1,28 +1,67 @@
1
-<%= bootstrap_nested_form_for(@mission_agent, url: {action: form_action, mission: @mission.slug, id: @mission_agent.slug}) do |f| %>
2
-  <%= f.alert_message "Please fix the errors below." %>
3
-  <%= content_tag(:div, class: 'panel panel-default') do %>
4
-  	<%= content_tag(:div, class: 'panel-body white-bg') do %>
5
-		<%= content_tag(:div, class: "panel-content") do %>
6
-			<%= content_tag(:div, class: "panel-text") do %>
7
-				<%= content_tag(:div, class: "form-inputs") do %>
8
-				    <%= f.text_field :role, label: (t 'mission_editor.agents.role'), class: 'input-block-level' %>
9
-				    <%= f.text_area :objective, label: (t 'mission_editor.agents.objective'), class: 'input-block-level', rows: 5 %>
10
-				    <%= f.text_area :briefing, label: (t 'mission_editor.mission_details.briefing'), class: 'input-block-level', rows: 10 %>
1
+<%= bootstrap_nested_form_for(@mission_agent, url: {action: form_action, mission: @mission.slug, id: (@mission_agent.slug ? @mission_agent.slug : "" )}) do |f| %>
2
+	
3
+	<% # Mission Agent Details Group %>
4
+	<%= content_tag(:div, class: 'row') do %>
5
+		<% # Form - Mission Agent Details %>
6
+		<%= content_tag(:div, class: 'span8') do %>
7
+			<%= f.alert_message "Please fix the errors below." %>
8
+				<%= content_tag(:div, class: 'panel panel-default') do %>
9
+				<%= content_tag(:div, class: 'panel-body white-bg') do %>
10
+					<%= content_tag(:div, class: "panel-content") do %>
11
+						<%= content_tag(:div, class: "panel-text") do %>
12
+							<%= content_tag(:div, class: "form-inputs") do %>
13
+							    <%= f.text_field :role, label: (t 'mission_editor.agents.role'), class: 'input-block-level' %>
14
+							    <%= f.text_area :objective, label: (t 'mission_editor.agents.objective'), class: 'input-block-level', rows: 5 %>
15
+							    <%= f.text_area :briefing, label: (t 'mission_editor.mission_details.briefing'), class: 'input-block-level', rows: 10 %>
16
+							<% end %>
17
+						<% end %>
18
+					<% end %>
19
+				<% end %>
20
+			<% end %>
21
+		<% end %>
22
+		<% # Sidebar - Mission Agent Details %>
23
+		<%= content_tag(:div, class: 'span4 sidebar') do %>
24
+		     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
25
+		     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
26
+			   		<%= content_tag(:div, class: "panel-content") do %>
27
+			   			<%= content_tag(:div, class: "panel-text") do %>
28
+							<%= content_tag(:h3, (t 'mission_editor.agents.agent_details_help_title')) %>
29
+							<%= content_tag(:div, (t 'mission_editor.agents.agent_details_help').html_safe, class: 'small-text') %>
30
+						<% end %>
31
+					<% end %>
11 32
 				<% end %>
12 33
 			<% end %>
13 34
 		<% end %>
14 35
 	<% end %>
15
-  <% end %>
16
-  
17
-  <%= render :partial => 'form_step', locals: { mission_agent: @mission_agent, f: f, mission: @mission } %>
18 36
 
19
-  
20
-  <%= content_tag(:div, class: "form-submit-center") do %>
21
-  	<%= content_tag(:p) do %>
22
-		<%= f.submit (t 'mission_editor.agents.save_agent'), class: 'btn btn-large btn-success spacer-left-small' %>
23
-	<% end %>
24
-	<%= content_tag(:p) do %>
25
-		<%= link_to (t'nav.cancel'), mission_agents_path(@mission), class: 'btn btn-link btn-danger' %>
37
+	<% # Steps Group %>
38
+	<%= content_tag(:div, class: 'row', style: 'margin-top: 20px;') do %>
39
+		<% # Form - Steps %>
40
+		<%= content_tag(:div, class: 'span8') do %>
41
+  			<%= render :partial => 'form_step', locals: { mission_agent: @mission_agent, f: f, mission: @mission } %>
42
+			<% # Form - Submit %>
43
+			<%= content_tag(:div, class: "form-submit-center") do %>
44
+				<%= content_tag(:p) do %>
45
+					<%= f.submit (t 'mission_editor.agents.save_agent'), class: 'btn btn-large btn-success spacer-left-small' %>
46
+				<% end %>
47
+				<%= content_tag(:p) do %>
48
+					<%= link_to (t'nav.cancel'), mission_agents_path(@mission), class: 'btn btn-link btn-danger' %>
49
+				<% end %>
50
+			<% end %>
51
+		<% end %>
52
+		<% # Sidebar - Steps %>
53
+		<%= content_tag(:div, class: 'span4 sidebar') do %>
54
+		     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
55
+		     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
56
+			   		<%= content_tag(:div, class: "panel-content") do %>
57
+			   			<%= content_tag(:div, class: "panel-text") do %>
58
+							<%= content_tag(:h3, (t 'mission_editor.agents.agent_steps_help_title')) %>
59
+							<%= content_tag(:div, (t 'mission_editor.agents.agent_steps_help').html_safe, class: 'small-text') %>
60
+						<% end %>
61
+					<% end %>
62
+				<% end %>
63
+			<% end %>
64
+		<% end %>
26 65
 	<% end %>
27
-  <% end %>
28
-<% end %>
66
+
67
+<% end %>

+ 5 - 21
app/views/mission_editor/agents/edit.html.erb

@@ -6,6 +6,8 @@
6 6
 
7 7
 <%= content_tag(:div, class: 'container-bg') do %>
8 8
 	<%= content_tag(:div, class: 'container container-bg mission-detail-container') do %>
9
+		
10
+		<% # Header - Edit Agent %>
9 11
 		<%= content_tag(:div, class: 'row') do %>
10 12
 			<%= content_tag(:div, class: 'span12') do %>
11 13
 				
@@ -18,26 +20,8 @@
18 20
 				
19 21
 			<% end%>
20 22
 		<% end %>
21
-		<%= content_tag(:div, class: 'row') do %>
22
-			<%= content_tag(:div, class: 'span8') do %>
23
-			
24
-				<%= render :partial => 'form', locals: {form_action: 'update'} %>
25
-			
26
-			<% end %>
27
-			<% # Sidebar %>
28
-			<%= content_tag(:div, class: 'span4 sidebar') do %>
29
-			     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
30
-			     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
31
-				   		<%= content_tag(:div, class: "panel-content") do %>
32
-				   			<%= content_tag(:div, class: "panel-text") do %>
33
-								<%= content_tag(:h3, (t 'mission_editor.agents.agent_details_help_title')) %>
34
-								<%= content_tag(:div, (t 'mission_editor.agents.agent_details_help').html_safe, class: 'small-text') %>
35
-							<% end %>
36
-						<% end %>
37
-					<% end %>
38
-				<% end %>
39
-			<% end %>
40
-			
41
-		<% end %>
23
+		
24
+		<%= render :partial => 'form', locals: {form_action: 'update'} %>
25
+
42 26
 	<% end %>			
43 27
 <% end %>

+ 3 - 21
app/views/mission_editor/agents/new.html.erb

@@ -18,26 +18,8 @@
18 18
 				
19 19
 			<% end%>
20 20
 		<% end %>
21
-		<%= content_tag(:div, class: 'row') do %>
22
-			<%= content_tag(:div, class: 'span8') do %>
23
-			
24
-				<%= render :partial => 'form', locals: {form_action: 'create'} %>
25
-			
26
-			<% end %>
27
-			<% # Sidebar %>
28
-			<%= content_tag(:div, class: 'span4 sidebar') do %>
29
-			     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
30
-			     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
31
-				   		<%= content_tag(:div, class: "panel-content") do %>
32
-				   			<%= content_tag(:div, class: "panel-text") do %>
33
-								<%= content_tag(:h3, (t 'mission_editor.agents.agent_details_help_title')) %>
34
-								<%= content_tag(:div, (t 'mission_editor.agents.agent_details_help').html_safe, class: 'small-text') %>
35
-							<% end %>
36
-						<% end %>
37
-					<% end %>
38
-				<% end %>
39
-			<% end %>
40
-			
41
-		<% end %>
21
+		
22
+		<%= render :partial => 'form', locals: {form_action: 'update'} %>
23
+
42 24
 	<% end %>			
43 25
 <% end %>

+ 89 - 31
app/views/mission_editor/rewards/_form.html.erb

@@ -1,41 +1,99 @@
1
-<%= bootstrap_form_for(@reward, url: {action: form_action, mission: @mission.slug, id: @reward.id}) do |f| %>
2
-  <%= f.alert_message "Please fix the errors below." %>
3
-  <%= content_tag(:div, class: 'panel panel-default') do %>
4
-  	<%= content_tag(:div, class: 'panel-body white-bg') do %>
5
-		<%= content_tag(:div, class: "panel-content") do %>
6
-			<%= content_tag(:div, class: "panel-text") do %>
7
-				<%= content_tag(:div, class: "form-inputs") do %>
8
-				    <%= f.text_field :title, label: (t 'mission_editor.rewards.reward_title'), class: 'input-block-level' %>
9
-				    <%= f.text_area :description, label: (t 'mission_editor.mission_details.reward_description'), class: 'input-block-level', rows: 5 %>
10
-				    
11
-					
12
-					<%= content_tag(:div, class: 'form-group', style: 'padding-bottom: 2px;') do %>
13
-						<%= content_tag(:label, (t 'mission_editor.reward.image'), class: 'control-label', for: 'cover_image')%>
14
-						<%= content_tag(:div, class: 'fileupload fileupload-new', data: { provides: 'fileupload' } ) do %>
15
-							<%= content_tag(:div, class: 'fileupload-preview cover-fileupload-preview thumbnail', data: { trigger: 'fileinput' } ) do %>
16
-								<%= image_tag @reward.img.to_s if @reward.img? %>
17
-							<% end %>
18
-							<%= content_tag(:span, class: 'btn btn-default btn-file btn-mini pull-right', style: 'padding-top: 0px; padding-bottom: 0px;') do %>
19
-								<%= content_tag(:span, '', class: 'fileinput-new') %>
20
-								<%= content_tag(:span, '', class: 'fileinput-exists') %>
1
+<%= bootstrap_form_for(@reward, url: {action: form_action, mission: @mission.slug, id: (@reward.id ? @reward.id : "")}) do |f| %>
2
+
3
+	<%= content_tag(:div, class: 'row') do %>
4
+		<%= content_tag(:div, class: 'span8') do %>
5
+
6
+			  <%= f.alert_message "Please fix the errors below." %>
7
+			  <%= content_tag(:div, class: 'panel panel-default') do %>
8
+			  	<%= content_tag(:div, class: 'panel-body white-bg') do %>
9
+					<%= content_tag(:div, class: "panel-content") do %>
10
+						<%= content_tag(:div, class: "panel-text") do %>
11
+							<%= content_tag(:div, class: "form-inputs") do %>
12
+							    <%= f.text_field :title, label: (t 'mission_editor.rewards.reward_title'), class: 'input-block-level' %>
13
+							    <%= f.text_area :description, label: (t 'mission_editor.mission_details.reward_description'), class: 'input-block-level', rows: 5 %>
14
+			    
15
+				
16
+								<%= content_tag(:div, class: 'form-group', style: 'padding-bottom: 2px;') do %>
17
+									<%= content_tag(:label, (t 'mission_editor.reward.image'), class: 'control-label', for: 'cover_image')%>
18
+									<%= content_tag(:div, class: 'fileupload fileupload-new', data: { provides: 'fileupload' } ) do %>
19
+										<%= content_tag(:div, class: 'fileupload-preview cover-fileupload-preview thumbnail', data: { trigger: 'fileinput' } ) do %>
20
+											<%= image_tag @reward.img.to_s if @reward.img? %>
21
+										<% end %>
22
+										<%= content_tag(:span, class: 'btn btn-default btn-file btn-mini pull-right', style: 'padding-top: 0px; padding-bottom: 0px;') do %>
23
+											<%= content_tag(:span, '', class: 'fileinput-new') %>
24
+											<%= content_tag(:span, '', class: 'fileinput-exists') %>
21 25
 
22
-								<%= f.file_field :img, layout: :inline,  label: (t 'mission_editor.mission_details.select_image') %>
26
+											<%= f.file_field :img, layout: :inline,  label: (t 'mission_editor.mission_details.select_image') %>
27
+										<% end %>
28
+									<% end %>
29
+								<% end %>
30
+				
31
+				
23 32
 							<% end %>
24 33
 						<% end %>
25 34
 					<% end %>
26
-					
27
-					
35
+				<% end %>
36
+			  <% end %>
37
+			  
38
+			<% end %>
39
+			
40
+
41
+		
42
+		<% # Sidebar %>
43
+		<%= content_tag(:div, class: 'span4 sidebar') do %>
44
+		     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
45
+		     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
46
+			   		<%= content_tag(:div, class: "panel-content") do %>
47
+			   			<%= content_tag(:div, class: "panel-text") do %>
48
+							<%= content_tag(:h3, (t 'mission_editor.mission_details_help_title')) %>
49
+							<%= content_tag(:div, (t 'mission_editor.mission_details_help').html_safe, class: 'small-text') %>
50
+						<% end %>
51
+					<% end %>
28 52
 				<% end %>
29 53
 			<% end %>
30 54
 		<% end %>
55
+		
31 56
 	<% end %>
32
-  <% end %>
33
-  <%= content_tag(:div, class: "form-submit-center") do %>
34
-  	<%= content_tag(:p) do %>
35
-		<%= f.submit (t 'mission_editor.rewards.save_reward'), class: 'btn btn-large btn-success spacer-left-small' %>
36
-	<% end %>
37
-	<%= content_tag(:p) do %>
38
-		<%= link_to (t'nav.back'), rewards_path, class: 'btn btn-link btn-danger' %>
57
+	
58
+	<%= content_tag(:div, class: 'row') do %>
59
+		<%= content_tag(:div, class: 'span8') do %>
60
+			<%= content_tag(:div, class: 'panel panel-default') do %>
61
+				<%= content_tag(:div, class: 'panel-body white-bg') do %>
62
+					<%= content_tag(:div, class: "panel-content") do %>
63
+						<%= content_tag(:div, class: "panel-text") do %>
64
+							<% checked_rewards = [] %> 
65
+							<% @reward.mission_agents.each {|a| checked_rewards << a.id } %>
66
+							<%= f.collection_check_boxes :mission_agents, @mission.mission_agents.all, :id, :role, checked: checked_rewards, label: "Select mission agents to receive the reward:" %>
67
+
68
+						<% end %>
69
+					<% end %>
70
+				<% end %>
71
+			<% end %>
72
+		
73
+			
74
+			<%= content_tag(:div, class: "form-submit-center") do %>
75
+				<%= content_tag(:p) do %>
76
+					<%= f.submit (t 'mission_editor.rewards.save_reward'), class: 'btn btn-large btn-success spacer-left-small' %>
77
+				<% end %>
78
+				<%= content_tag(:p) do %>
79
+					<%= link_to (t'nav.back'), rewards_path, class: 'btn btn-link btn-danger' %>
80
+				<% end %>
81
+			<% end %>
82
+			
83
+		<% end %>
84
+		<% # Sidebar %>
85
+		<%= content_tag(:div, class: 'span4 sidebar') do %>
86
+		     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
87
+		     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
88
+			   		<%= content_tag(:div, class: "panel-content") do %>
89
+			   			<%= content_tag(:div, class: "panel-text") do %>
90
+							<%= content_tag(:h3, (t 'mission_editor.mission_details_help_title')) %>
91
+							<%= content_tag(:div, (t 'mission_editor.mission_details_help').html_safe, class: 'small-text') %>
92
+						<% end %>
93
+					<% end %>
94
+				<% end %>
95
+			<% end %>
96
+		<% end %>
39 97
 	<% end %>
40
-  <% end %>
98
+	
41 99
 <% end %>

+ 2 - 20
app/views/mission_editor/rewards/edit.html.erb

@@ -17,26 +17,8 @@
17 17
 				
18 18
 			<% end%>
19 19
 		<% end %>
20
-		<%= content_tag(:div, class: 'row') do %>
21
-			<%= content_tag(:div, class: 'span8') do %>
22
-			
23
-				<%= render :partial => 'form', locals: {form_action: 'update'} %>
24 20
 			
25
-			<% end %>
26
-			<% # Sidebar %>
27
-			<%= content_tag(:div, class: 'span4 sidebar') do %>
28
-			     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
29
-			     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
30
-				   		<%= content_tag(:div, class: "panel-content") do %>
31
-				   			<%= content_tag(:div, class: "panel-text") do %>
32
-								<%= content_tag(:h3, (t 'mission_editor.mission_details_help_title')) %>
33
-								<%= content_tag(:div, (t 'mission_editor.mission_details_help').html_safe, class: 'small-text') %>
34
-							<% end %>
35
-						<% end %>
36
-					<% end %>
37
-				<% end %>
38
-			<% end %>
39
-			
40
-		<% end %>
21
+		<%= render :partial => 'form', locals: {form_action: 'update'} %>
22
+				
41 23
 	<% end %>			
42 24
 <% end %>

+ 2 - 20
app/views/mission_editor/rewards/new.html.erb

@@ -17,26 +17,8 @@
17 17
 				
18 18
 			<% end%>
19 19
 		<% end %>
20
-		<%= content_tag(:div, class: 'row') do %>
21
-			<%= content_tag(:div, class: 'span8') do %>
22
-			
23
-				<%= render :partial => 'form', locals: {form_action: 'create'} %>
24 20
 			
25
-			<% end %>
26
-			<% # Sidebar %>
27
-			<%= content_tag(:div, class: 'span4 sidebar') do %>
28
-			     <%= content_tag(:div, class: 'panel panel-default sidebar-carret') do %>
29
-			     	<%= content_tag(:div, class: 'panel-body white-bg') do %>
30
-				   		<%= content_tag(:div, class: "panel-content") do %>
31
-				   			<%= content_tag(:div, class: "panel-text") do %>
32
-								<%= content_tag(:h3, (t 'mission_editor.mission_details_help_title')) %>
33
-								<%= content_tag(:div, (t 'mission_editor.mission_details_help').html_safe, class: 'small-text') %>
34
-							<% end %>
35
-						<% end %>
36
-					<% end %>
37
-				<% end %>
38
-			<% end %>
39
-			
40
-		<% end %>
21
+		<%= render :partial => 'form', locals: {form_action: 'update'} %>
22
+				
41 23
 	<% end %>			
42 24
 <% end %>