Description:
update master
Commit status:
[Not Reviewed]
References:
merge default
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r722:83f5b778c08b - - 2 files changed: 30 inserted, 2 deleted

@@ -1,66 +1,69
1 1 require 'net/smtp'
2 2
3 3 class UsersController < ApplicationController
4 4
5 5 include MailHelperMethods
6 6
7 7 before_filter :authenticate, :except => [:new,
8 8 :register,
9 9 :confirm,
10 10 :forget,
11 11 :retrieve_password]
12 12
13 13 before_filter :verify_online_registration, :only => [:new,
14 14 :register,
15 15 :forget,
16 16 :retrieve_password]
17 17 before_filter :authenticate, :profile_authorization, only: [:profile]
18 18
19 + before_filter :admin_authorization, only: [:stat, :toggle_activate, :toggle_enable]
20 +
21 +
19 22 verify :method => :post, :only => [:chg_passwd],
20 23 :redirect_to => { :action => :index }
21 24
22 25 #in_place_edit_for :user, :alias_for_editing
23 26 #in_place_edit_for :user, :email_for_editing
24 27
25 28 def index
26 29 if !GraderConfiguration['system.user_setting_enabled']
27 30 redirect_to :controller => 'main', :action => 'list'
28 31 else
29 32 @user = User.find(session[:user_id])
30 33 end
31 34 end
32 35
33 36 def chg_passwd
34 37 user = User.find(session[:user_id])
35 38 user.password = params[:passwd]
36 39 user.password_confirmation = params[:passwd_verify]
37 40 if user.save
38 41 flash[:notice] = 'password changed'
39 42 else
40 43 flash[:notice] = 'Error: password changing failed'
41 44 end
42 45 redirect_to :action => 'index'
43 46 end
44 47
45 48 def new
46 49 @user = User.new
47 50 render :action => 'new', :layout => 'empty'
48 51 end
49 52
50 53 def register
51 54 if(params[:cancel])
52 55 redirect_to :controller => 'main', :action => 'login'
53 56 return
54 57 end
55 58 @user = User.new(user_params)
56 59 @user.password_confirmation = @user.password = User.random_password
57 60 @user.activated = false
58 61 if (@user.valid?) and (@user.save)
59 62 if send_confirmation_email(@user)
60 63 render :action => 'new_splash', :layout => 'empty'
61 64 else
62 65 @admin_email = GraderConfiguration['system.admin_email']
63 66 render :action => 'email_error', :layout => 'empty'
64 67 end
65 68 else
66 69 @user.errors.add(:base,"Email cannot be blank") if @user.email==''
@@ -1,100 +1,125
1 1 %h2 Live submit
2 2 %br
3 3
4 4 %textarea#text_sourcecode{style: "display:none"}~ @source
5 5 .container
6 6 .row
7 7 .col-md-12
8 8 .alert.alert-info
9 9 Write your code in the following box, choose language, and click submit button when finished
10 10 .row
11 11 .col-md-8
12 12 %div#editor{style: 'height: 500px; border-radius: 7px; font-size: 14px;'}
13 13 .col-md-4
14 14 - # submission form
15 15 = form_tag({controller: :main, :action => 'submit'}, :multipart => true, class: 'form') do
16 16
17 17 = hidden_field_tag 'editor_text', @source
18 18 = hidden_field_tag 'submission[problem_id]', @problem.id
19 19 .form-group
20 20 = label_tag "Task:"
21 21 = text_field_tag 'asdf', "#{@problem.long_name}", class: 'form-control', disabled: true
22 + .form-group
23 + = label_tag "Description:"
24 + = link_to_description_if_any "[download] <span class='glyphicon glyphicon-file'></span>".html_safe, @problem
22 25
23 26 .form-group
24 - = label_tag 'Language'
27 + = label_tag 'Language:'
25 28 = select_tag 'language_id', options_from_collection_for_select(Language.all, 'id', 'pretty_name', @lang_id || Language.find_by_pretty_name("Python").id || Language.first.id), class: 'form-control select', style: "width: 100px"
26 29 .form-group
30 + .input-group
31 + %span.input-group-btn
32 + %span.btn.btn-default.btn-file
33 + Browse
34 + = file_field_tag 'load_file'
35 + = text_field_tag '' , nil, {readonly: true, class: 'form-control'}
36 + .form-group
27 37 = submit_tag 'Submit', class: 'btn btn-success', id: 'live_submit',
28 38 data: {confirm: "Submitting this source code for task #{@problem.long_name}?"}
29 39 - # latest submission status
30 40 .panel{class: (@submission && @submission.graded_at) ? "panel-info" : "panel-warning"}
31 41 .panel-heading
32 42 Latest Submission Status
33 43 = link_to "Refresh",get_latest_submission_status_submissions_path(@submission.user,@problem), class: "btn btn-default btn-sm", remote: true if @submission
34 44 .panel-body
35 45 %div#latest_status
36 46 - if @submission
37 47 = render :partial => 'submission_short',
38 48 :locals => {submission: @submission, problem_name: @problem.name, problem_id: @problem.id }
39 49 .row
40 50 .col-md-12
41 51 %h2 Console
42 52 %textarea#console{style: 'height: 100%; width: 100%;background-color:#000;color:#fff;font-family: consolas, monaco, "Droid Sans Mono";',rows: 20}
43 53
44 54 :javascript
45 55 $(document).ready(function() {
46 56 e = ace.edit("editor")
47 57 e.setValue($("#text_sourcecode").val());
48 58 e.gotoLine(1);
49 59 $("#language_id").trigger('change');
50 - brython();
60 +
61 + $("#load_file").on('change',function(evt) {
62 + var file = evt.target.files[0];
63 + var reader = new FileReader();
64 + reader.onload = function(theFile) {
65 + var e = ace.edit("editor")
66 + e.setValue(theFile.target.result);
67 + e.gotoLine(1);
68 + };
69 + reader.readAsText(file)
51 70 });
52 71
72 + //brython();
73 + });
74 +
75 +
76 +
77 +
53 78
54 79 %script#__main__{type:'text/python3'}
55 80 :plain
56 81 import sys
57 82 import traceback
58 83
59 84 from browser import document as doc
60 85 from browser import window, alert, console
61 86
62 87 _credits = """ Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands
63 88 for supporting Python development. See www.python.org for more information."""
64 89
65 90 _copyright = """Copyright (c) 2012, Pierre Quentel pierre.quentel@gmail.com
66 91 All Rights Reserved.
67 92
68 93 Copyright (c) 2001-2013 Python Software Foundation.
69 94 All Rights Reserved.
70 95
71 96 Copyright (c) 2000 BeOpen.com.
72 97 All Rights Reserved.
73 98
74 99 Copyright (c) 1995-2001 Corporation for National Research Initiatives.
75 100 All Rights Reserved.
76 101
77 102 Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
78 103 All Rights Reserved."""
79 104
80 105 _license = """Copyright (c) 2012, Pierre Quentel pierre.quentel@gmail.com
81 106 All rights reserved.
82 107
83 108 Redistribution and use in source and binary forms, with or without
84 109 modification, are permitted provided that the following conditions are met:
85 110
86 111 Redistributions of source code must retain the above copyright notice, this
87 112 list of conditions and the following disclaimer. Redistributions in binary
88 113 form must reproduce the above copyright notice, this list of conditions and
89 114 the following disclaimer in the documentation and/or other materials provided
90 115 with the distribution.
91 116 Neither the name of the <ORGANIZATION> nor the names of its contributors may
92 117 be used to endorse or promote products derived from this software without
93 118 specific prior written permission.
94 119
95 120 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
96 121 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
97 122 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
98 123 ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
99 124 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
100 125 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
You need to be logged in to leave comments. Login now