diff --git a/app/helpers/main_helper.rb b/app/helpers/main_helper.rb new file mode 100644 --- /dev/null +++ b/app/helpers/main_helper.rb @@ -0,0 +1,61 @@ +module MainHelper + + def user_options + options = '' + user = User.find(session[:user_id]) + if user.admin? + options = options + ' ' + + link_to('[Problem admin]', + {:controller => 'problems', :action => 'index'}) + options = options + ' ' + + link_to('[User admin]', + {:controller => 'user_admin', :action => 'index'}) + end + options = options + ' ' + + link_to('[Log out]', {:controller => 'main', :action => 'login'}) + options + end + + def format_short_time(time) + now = Time.now + st = '' + if (time.yday != now.yday) or + (time.year != now.year) + st = time.strftime("%x") + end + st + time.strftime("%X") + end + + def format_compiler_msg(sub) + < +
+Compiler message (click to see)
+
+
+#{h(sub.compiler_message).gsub(/\n/,'
')} +
+
+cmpmsg + end + + def format_submission(sub, count) + msg = "#{count} submission(s)
" + if count>0 + msg = msg + "Last on " + + format_short_time(sub.submitted_at) + ' ' + + link_to('[source]',{:action => 'get_source', :id => sub.id}) + + "
" + end + if sub!=nil and sub.graded_at!=nil + msg = msg + 'Graded at ' + format_short_time(sub.graded_at) + ', score: '+ + sub.points.to_s + + ' [' + sub.grader_comment + "]
" + + format_compiler_msg(sub) + end + msg + end + +end