Description:
better user import
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r798:46ce575fc051 - - 6 files changed: 29 inserted, 18 deleted

@@ -65,7 +65,8
65 65 ok_user = []
66 66
67 67 lines.split("\n").each do |line|
68 - items = line.chomp.split(',')
68 + #split with large limit, this will cause consecutive ',' to be result in a blank
69 + items = line.chomp.split(',',1000)
69 70 if items.length>=2
70 71 login = items[0]
71 72 full_name = items[1]
@@ -73,8 +74,12
73 74 user_alias = ''
74 75
75 76 added_random_password = false
76 - if items.length >= 3 and items[2].chomp(" ").length > 0;
77 - password = items[2].chomp(" ")
77 + added_password = false
78 + if items.length >= 3
79 + if items[2].chomp(" ").length > 0
80 + password = items[2].chomp(" ")
81 + added_password = true
82 + end
78 83 else
79 84 password = random_password
80 85 added_random_password=true;
@@ -86,16 +91,21
86 91 user_alias = login
87 92 end
88 93
94 +
95 + has_remark = false
89 96 if items.length>=5
90 97 remark = items[4].strip;
98 + has_remark = true
91 99 end
92 100
93 101 user = User.find_by_login(login)
94 102 if (user)
95 103 user.full_name = full_name
96 - user.password = password
97 - user.remark = remark
104 + user.remark = remark if has_remark
105 + user.password = password if added_password || added_random_password
98 106 else
107 + #create a random password if none are given
108 + password = random_password unless password
99 109 user = User.new({:login => login,
100 110 :full_name => full_name,
101 111 :password => password,
@@ -182,9 +182,6
182 182 #{header}
183 183 <tr>
184 184 <td class="left-col">
185 - #{user.full_name}<br/>
186 - #{t 'title_bar.current_time'} #{format_short_time(Time.zone.now)}
187 - #{time_left}
188 185 <br/>
189 186 </td>
190 187 <td class="right-col">#{contest_name}</td>
@@ -1,17 +1,11
1 1 module MainHelper
2 2
3 - def link_to_description_if_any(name, problem, options={})
3 + def link_to_description_if_any(name, problem)
4 4 if !problem.url.blank?
5 - return link_to name, problem.url, options
5 + return link_to name, problem.url
6 6 elsif !problem.description_filename.blank?
7 - #build a link to a problem (via task controller)
8 7 basename, ext = problem.description_filename.split('.')
9 - options[:controller] = 'tasks'
10 - options[:action] = 'download'
11 - options[:id] = problem.id
12 - options[:file] = basename
13 - options[:ext] = ext
14 - return link_to name, options
8 + return link_to name, download_task_path(problem.id,basename,ext), target: '_blank'
15 9 else
16 10 return ''
17 11 end
@@ -42,6 +42,7
42 42 - if @submission.problem!=nil
43 43 = link_to "[#{@submission.problem.name}]", stat_problem_path(@submission.problem)
44 44 = @submission.problem.full_name
45 + = link_to_description_if_any "[download] <span class='glyphicon glyphicon-file'></span>".html_safe, @submission.problem
45 46 - else
46 47 = "(n/a)"
47 48 %tr
@@ -26,6 +26,15
26 26 is empty, the original value will be used instead.
27 27 %li
28 28 If the users with the same user_id already exists, existing information will be overwritten.
29 + Example:
30 + %ol
31 + %li
32 + %pre user1,Somchai Jaidee
33 + will create (or update) a user with login "user1" and setting the fullname to "Somchai Jaidee", also setting a random password.
34 + %li
35 + %pre user1,Somchai Jaidee,
36 + will create (or update) a user with login "user1" and and setting the fullname "Somchai Jaidee". No change is made to the password unless this is a new user. If this is a new user, a random password will be generated.
37 +
29 38
30 39 .row
31 40 .col-md-6
@@ -177,7 +177,7
177 177
178 178 #
179 179 get 'tasks/view/:file.:ext' => 'tasks#view'
180 - get 'tasks/download/:id/:file.:ext' => 'tasks#download'
180 + get 'tasks/download/:id/:file.:ext' => 'tasks#download', as: 'download_task'
181 181 get 'heartbeat/:id/edit' => 'heartbeat#edit'
182 182
183 183 #grader
You need to be logged in to leave comments. Login now