Description:
fix change date not working in problem bulk manage
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r739:dd100c4f33f7 - - 1 file changed: 1 inserted, 1 deleted
@@ -211,100 +211,100 | |||||
|
211 | flash[:alert] = "The following problems are already in the group #{group.name}: " + failed.join(', ') if failed.count > 0 |
|
211 | flash[:alert] = "The following problems are already in the group #{group.name}: " + failed.join(', ') if failed.count > 0 |
|
212 | elsif params.has_key? 'add_tags' |
|
212 | elsif params.has_key? 'add_tags' |
|
213 | get_problems_from_params.each do |p| |
|
213 | get_problems_from_params.each do |p| |
|
214 | p.tag_ids += params[:tag_ids] |
|
214 | p.tag_ids += params[:tag_ids] |
|
215 | end |
|
215 | end |
|
216 | end |
|
216 | end |
|
217 |
|
217 | ||
|
218 | redirect_to :action => 'manage' |
|
218 | redirect_to :action => 'manage' |
|
219 | end |
|
219 | end |
|
220 |
|
220 | ||
|
221 | def import |
|
221 | def import |
|
222 | @allow_test_pair_import = allow_test_pair_import? |
|
222 | @allow_test_pair_import = allow_test_pair_import? |
|
223 | end |
|
223 | end |
|
224 |
|
224 | ||
|
225 | def do_import |
|
225 | def do_import |
|
226 | old_problem = Problem.find_by_name(params[:name]) |
|
226 | old_problem = Problem.find_by_name(params[:name]) |
|
227 | if !allow_test_pair_import? and params.has_key? :import_to_db |
|
227 | if !allow_test_pair_import? and params.has_key? :import_to_db |
|
228 | params.delete :import_to_db |
|
228 | params.delete :import_to_db |
|
229 | end |
|
229 | end |
|
230 | @problem, import_log = Problem.create_from_import_form_params(params, |
|
230 | @problem, import_log = Problem.create_from_import_form_params(params, |
|
231 | old_problem) |
|
231 | old_problem) |
|
232 |
|
232 | ||
|
233 | if !@problem.errors.empty? |
|
233 | if !@problem.errors.empty? |
|
234 | render :action => 'import' and return |
|
234 | render :action => 'import' and return |
|
235 | end |
|
235 | end |
|
236 |
|
236 | ||
|
237 | if old_problem!=nil |
|
237 | if old_problem!=nil |
|
238 | flash[:notice] = "The test data has been replaced for problem #{@problem.name}" |
|
238 | flash[:notice] = "The test data has been replaced for problem #{@problem.name}" |
|
239 | end |
|
239 | end |
|
240 | @log = import_log |
|
240 | @log = import_log |
|
241 | end |
|
241 | end |
|
242 |
|
242 | ||
|
243 | def remove_contest |
|
243 | def remove_contest |
|
244 | problem = Problem.find(params[:id]) |
|
244 | problem = Problem.find(params[:id]) |
|
245 | contest = Contest.find(params[:contest_id]) |
|
245 | contest = Contest.find(params[:contest_id]) |
|
246 | if problem!=nil and contest!=nil |
|
246 | if problem!=nil and contest!=nil |
|
247 | problem.contests.delete(contest) |
|
247 | problem.contests.delete(contest) |
|
248 | end |
|
248 | end |
|
249 | redirect_to :action => 'manage' |
|
249 | redirect_to :action => 'manage' |
|
250 | end |
|
250 | end |
|
251 |
|
251 | ||
|
252 | ################################## |
|
252 | ################################## |
|
253 | protected |
|
253 | protected |
|
254 |
|
254 | ||
|
255 | def allow_test_pair_import? |
|
255 | def allow_test_pair_import? |
|
256 | if defined? ALLOW_TEST_PAIR_IMPORT |
|
256 | if defined? ALLOW_TEST_PAIR_IMPORT |
|
257 | return ALLOW_TEST_PAIR_IMPORT |
|
257 | return ALLOW_TEST_PAIR_IMPORT |
|
258 | else |
|
258 | else |
|
259 | return false |
|
259 | return false |
|
260 | end |
|
260 | end |
|
261 | end |
|
261 | end |
|
262 |
|
262 | ||
|
263 | def change_date_added |
|
263 | def change_date_added |
|
264 | problems = get_problems_from_params |
|
264 | problems = get_problems_from_params |
|
265 | date = Date.parse(params[:date_added]) |
|
265 | date = Date.parse(params[:date_added]) |
|
266 | problems.each do |p| |
|
266 | problems.each do |p| |
|
267 | p.date_added = date |
|
267 | p.date_added = date |
|
268 | p.save |
|
268 | p.save |
|
269 | end |
|
269 | end |
|
270 | end |
|
270 | end |
|
271 |
|
271 | ||
|
272 | def add_to_contest |
|
272 | def add_to_contest |
|
273 | problems = get_problems_from_params |
|
273 | problems = get_problems_from_params |
|
274 | contest = Contest.find(params[:contest][:id]) |
|
274 | contest = Contest.find(params[:contest][:id]) |
|
275 | if contest!=nil and contest.enabled |
|
275 | if contest!=nil and contest.enabled |
|
276 | problems.each do |p| |
|
276 | problems.each do |p| |
|
277 | p.contests << contest |
|
277 | p.contests << contest |
|
278 | end |
|
278 | end |
|
279 | end |
|
279 | end |
|
280 | end |
|
280 | end |
|
281 |
|
281 | ||
|
282 | def set_available(avail) |
|
282 | def set_available(avail) |
|
283 | problems = get_problems_from_params |
|
283 | problems = get_problems_from_params |
|
284 | problems.each do |p| |
|
284 | problems.each do |p| |
|
285 | p.available = avail |
|
285 | p.available = avail |
|
286 | p.save |
|
286 | p.save |
|
287 | end |
|
287 | end |
|
288 | end |
|
288 | end |
|
289 |
|
289 | ||
|
290 | def get_problems_from_params |
|
290 | def get_problems_from_params |
|
291 | problems = [] |
|
291 | problems = [] |
|
292 | params.keys.each do |k| |
|
292 | params.keys.each do |k| |
|
293 | if k.index('prob-')==0 |
|
293 | if k.index('prob-')==0 |
|
294 | name, id, order = k.split('-') |
|
294 | name, id, order = k.split('-') |
|
295 | problems << Problem.find(id) |
|
295 | problems << Problem.find(id) |
|
296 | end |
|
296 | end |
|
297 | end |
|
297 | end |
|
298 | problems |
|
298 | problems |
|
299 | end |
|
299 | end |
|
300 |
|
300 | ||
|
301 | def get_problems_stat |
|
301 | def get_problems_stat |
|
302 | end |
|
302 | end |
|
303 |
|
303 | ||
|
304 | private |
|
304 | private |
|
305 |
|
305 | ||
|
306 | def problem_params |
|
306 | def problem_params |
|
307 | - params.require(:problem).permit(:name, :full_name, :full_score, :date_added, :available, :test_allowed,:output_only, :url, :description, tag_ids:[]) |
|
307 | + params.require(:problem).permit(:name, :full_name, :full_score, :change_date_added, :date_added, :available, :test_allowed,:output_only, :url, :description, tag_ids:[]) |
|
308 | end |
|
308 | end |
|
309 |
|
309 | ||
|
310 | end |
|
310 | end |
You need to be logged in to leave comments.
Login now