gaku_core 0.3.0.pre.0 → 0.3.0.pre.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/app/assets/javascripts/gaku/courses.js.coffee +20 -0
 - data/app/assets/javascripts/gaku/exams.js.coffee +23 -0
 - data/app/assets/stylesheets/gaku/bootstrap_and_theme.css.scss +574 -0
 - data/app/controllers/gaku/courses/exams/exam_portion_scores_controller.rb +23 -0
 - data/app/controllers/gaku/courses/exams_controller.rb +291 -0
 - data/app/controllers/gaku/exams_controller.rb +170 -0
 - data/app/helpers/gaku/gaku_helper.rb +155 -0
 - data/app/models/gaku/enrollment.rb +1 -1
 - data/app/models/gaku/exam_portion.rb +9 -0
 - data/app/models/gaku/semester_connector.rb +1 -1
 - data/app/models/gaku/student.rb +4 -0
 - data/app/views/gaku/admin/grading_methods/_form_fields.html.slim +7 -0
 - data/app/views/gaku/courses/_form_fields.html.slim +5 -0
 - data/app/views/gaku/courses/exams/exam_portion_scores/update.js.erb +5 -0
 - data/app/views/gaku/courses/exams/grading/_calculations.html.slim +16 -0
 - data/app/views/gaku/courses/exams/grading/_exam_portion_score_form.htmls.lim +0 -0
 - data/app/views/gaku/courses/exams/grading/_exam_scores.html.slim +78 -0
 - data/app/views/gaku/courses/exams/grading/_students.html.slim +12 -0
 - data/app/views/gaku/courses/exams/grading.html.slim +38 -0
 - data/app/views/gaku/layouts/gaku.html.slim +25 -0
 - data/app/views/gaku/shared/menu/_global.html.erb +1 -1
 - data/config/locales/bg.yml +421 -413
 - data/config/locales/en.yml +53 -110
 - data/config/locales/ja.yml +891 -883
 - data/config/locales/pt-BR.yml +11 -3
 - data/config/locales/zh-CN.yml +9 -1
 - data/config/routes.rb +120 -5
 - data/db/migrate/20160209100945_add_score_types_to_exam_portions.rb +6 -0
 - data/db/migrate/20160209104713_add_fields_to_exam_portion_score.rb +6 -0
 - data/lib/gaku/grading/single/percentage.rb +3 -3
 - data/lib/gaku/grading/single/score.rb +3 -3
 - data/lib/gaku/testing/factories/exam_portion_factory.rb +1 -1
 - metadata +20 -2
 
| 
         @@ -0,0 +1,16 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            table.grading.grading-calculations.table.table-bordered.table-condensed
         
     | 
| 
      
 2 
     | 
    
         
            +
              thead
         
     | 
| 
      
 3 
     | 
    
         
            +
                tr
         
     | 
| 
      
 4 
     | 
    
         
            +
                  th.btn-inverse Total & Grade
         
     | 
| 
      
 5 
     | 
    
         
            +
              tbody
         
     | 
| 
      
 6 
     | 
    
         
            +
                - @students.each do |student|
         
     | 
| 
      
 7 
     | 
    
         
            +
                  = tr_for student do
         
     | 
| 
      
 8 
     | 
    
         
            +
                    td
         
     | 
| 
      
 9 
     | 
    
         
            +
                      - p "student dayo-"
         
     | 
| 
      
 10 
     | 
    
         
            +
                      - p student
         
     | 
| 
      
 11 
     | 
    
         
            +
                      - p "exam dayo-"
         
     | 
| 
      
 12 
     | 
    
         
            +
                      - p @exam
         
     | 
| 
      
 13 
     | 
    
         
            +
                      - p "student_total_scores dayo-"
         
     | 
| 
      
 14 
     | 
    
         
            +
                      - p @student_total_scores
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                      = @student_exams_total_score[:raw][@exam.id][student.id]
         
     | 
| 
         
            File without changes
         
     | 
| 
         @@ -0,0 +1,78 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            table.grading.grading-exam-portions.table.table-bordered.table-condensed
         
     | 
| 
      
 2 
     | 
    
         
            +
              thead
         
     | 
| 
      
 3 
     | 
    
         
            +
                tr
         
     | 
| 
      
 4 
     | 
    
         
            +
                  - @exam.exam_portions.each do |portion|
         
     | 
| 
      
 5 
     | 
    
         
            +
                    th.btn-warning style="width: 80px"
         
     | 
| 
      
 6 
     | 
    
         
            +
                      = portion.name
         
     | 
| 
      
 7 
     | 
    
         
            +
                      - if @exam.use_weighting
         
     | 
| 
      
 8 
     | 
    
         
            +
                        span style='margin-left: 5px'
         
     | 
| 
      
 9 
     | 
    
         
            +
                          = portion.max_score
         
     | 
| 
      
 10 
     | 
    
         
            +
              tbody
         
     | 
| 
      
 11 
     | 
    
         
            +
                - @students.each do |student|
         
     | 
| 
      
 12 
     | 
    
         
            +
                  = tr_for student do
         
     | 
| 
      
 13 
     | 
    
         
            +
                    - @exam.exam_portions.each do |portion|
         
     | 
| 
      
 14 
     | 
    
         
            +
                      - portion.exam_portion_scores.each do |score|
         
     | 
| 
      
 15 
     | 
    
         
            +
                        - if score.student_id == student.id
         
     | 
| 
      
 16 
     | 
    
         
            +
                          td
         
     | 
| 
      
 17 
     | 
    
         
            +
                            = form_for [@course, @exam, score], remote: true do |f|
         
     | 
| 
      
 18 
     | 
    
         
            +
                              = f.text_field :score
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                                   / course_exam_exam_portion_scores GET    /courses/:course_id/exams/:exam_id/exam_portion_scores(.:format)                                             gaku/exam_portion_scores#index
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            / <table class='exam-parts table table-bordered table-condensed'>
         
     | 
| 
      
 27 
     | 
    
         
            +
            /   <thead>
         
     | 
| 
      
 28 
     | 
    
         
            +
            /     <tr>
         
     | 
| 
      
 29 
     | 
    
         
            +
            /       <% for exam in @exams: %>
         
     | 
| 
      
 30 
     | 
    
         
            +
            /         <% for portion in exam.exam_portions: %>
         
     | 
| 
      
 31 
     | 
    
         
            +
            /           <% if exam.use_weighting : %>
         
     | 
| 
      
 32 
     | 
    
         
            +
            /             <th class='btn-warning' style="width: 80px"> 【 <%= portion.name %> 】 </th>
         
     | 
| 
      
 33 
     | 
    
         
            +
            /           <% else : %>
         
     | 
| 
      
 34 
     | 
    
         
            +
            /             <th class='btn-warning' style="width: 80px"> 【 <%= portion.name %> 】
         
     | 
| 
      
 35 
     | 
    
         
            +
            /               <%= portion.max_score %>
         
     | 
| 
      
 36 
     | 
    
         
            +
            /             </th>
         
     | 
| 
      
 37 
     | 
    
         
            +
            /           <% end %>
         
     | 
| 
      
 38 
     | 
    
         
            +
            /         <% end %>
         
     | 
| 
      
 39 
     | 
    
         
            +
            /       <% end %>
         
     | 
| 
      
 40 
     | 
    
         
            +
            /     </tr>
         
     | 
| 
      
 41 
     | 
    
         
            +
            /   </thead>
         
     | 
| 
      
 42 
     | 
    
         
            +
            /   <tbody>
         
     | 
| 
      
 43 
     | 
    
         
            +
            /     <% for student in @students: %>
         
     | 
| 
      
 44 
     | 
    
         
            +
            /       <tr class='student_<%= student.id %>'>
         
     | 
| 
      
 45 
     | 
    
         
            +
            /         <% for exam in @exams: %>
         
     | 
| 
      
 46 
     | 
    
         
            +
            /           <% for portion in exam.exam_portions: %>
         
     | 
| 
      
 47 
     | 
    
         
            +
            /             <% for score in portion.exam_portion_scores: %>
         
     | 
| 
      
 48 
     | 
    
         
            +
            /               <% if score.student_id == student.id : %>
         
     | 
| 
      
 49 
     | 
    
         
            +
            /                 <td class='score-column' id='exam-portion-score-<%= score.id %>' align="left">
         
     | 
| 
      
 50 
     | 
    
         
            +
            /                   <form class='portion_score_update span12' style="float: left; padding-right: 50px" name="input" action="<%= @path_to_exam %>/exams/<%= exam.id %>/exam_portion_scores/<%= score.id %>" method="post" data-max-score='<%= portion.max_score %>'>
         
     | 
| 
      
 51 
     | 
    
         
            +
            /                     <div class='exam-portion-<%= portion.id %>'>
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
            /                       <% if @attendances[student.id][score.id][0] : %>
         
     | 
| 
      
 54 
     | 
    
         
            +
            /                         <input class="score-cell" style="text-align:right; margin-bottom:0px; background-color: <%= @attendances[student.id][score.id][1] %>" name='portion_score' type='number' value='<%= score.score %>'id='score-<%= score.id %>' disabled />
         
     | 
| 
      
 55 
     | 
    
         
            +
            /                       <% else : %>
         
     | 
| 
      
 56 
     | 
    
         
            +
            /                         <input class="score-cell" style="text-align:right; margin-bottom:0px" name='portion_score' type='number' value='<%= score.score %>' id='score-<%= score.id %>' />
         
     | 
| 
      
 57 
     | 
    
         
            +
            /                       <% end %>
         
     | 
| 
      
 58 
     | 
    
         
            +
            /                     </div>
         
     | 
| 
      
 59 
     | 
    
         
            +
            /                   </form>
         
     | 
| 
      
 60 
     | 
    
         
            +
            /                   <div class="portion_set_attendance pull-right btn" id="portion-score-<%= score.id %>"  rel ='popover' style="margin-left: -50px" targetinputelement='score-<%= exam.id %>-<%= portion.id %>-<%= student.id %>' action="<%= @path_to_exam %>/exams/<%= exam.id %>/exam_portion_scores/<%= score.id %>" data-attendance="<%= @attendances[student.id][score.id][0] %>" >
         
     | 
| 
      
 61 
     | 
    
         
            +
            /                     <i class="icon-chair"></i>
         
     | 
| 
      
 62 
     | 
    
         
            +
            /                   </div>
         
     | 
| 
      
 63 
     | 
    
         
            +
            /                 </td>
         
     | 
| 
      
 64 
     | 
    
         
            +
            /               <% end %>
         
     | 
| 
      
 65 
     | 
    
         
            +
            /             <% end %>
         
     | 
| 
      
 66 
     | 
    
         
            +
            /           <% end %>
         
     | 
| 
      
 67 
     | 
    
         
            +
            /         <% end %>
         
     | 
| 
      
 68 
     | 
    
         
            +
            /       </tr>
         
     | 
| 
      
 69 
     | 
    
         
            +
            /     <% end %>
         
     | 
| 
      
 70 
     | 
    
         
            +
            /     <tr class='total_row'>
         
     | 
| 
      
 71 
     | 
    
         
            +
            /       <% for exam in @exams: %>
         
     | 
| 
      
 72 
     | 
    
         
            +
            /         <th class='btn-primary' colspan="<%= exam.exam_portions.length %>">
         
     | 
| 
      
 73 
     | 
    
         
            +
            /           Avarages:
         
     | 
| 
      
 74 
     | 
    
         
            +
            /         </th>
         
     | 
| 
      
 75 
     | 
    
         
            +
            /       <% end %>
         
     | 
| 
      
 76 
     | 
    
         
            +
            /     </tr>
         
     | 
| 
      
 77 
     | 
    
         
            +
            /   </tbody>
         
     | 
| 
      
 78 
     | 
    
         
            +
            / </table>
         
     | 
| 
         @@ -0,0 +1,12 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            table.grading.grading-students.table.table-bordered.table-condensed
         
     | 
| 
      
 2 
     | 
    
         
            +
              thead
         
     | 
| 
      
 3 
     | 
    
         
            +
                tr
         
     | 
| 
      
 4 
     | 
    
         
            +
                  th.btn-info style="width:60px" Class
         
     | 
| 
      
 5 
     | 
    
         
            +
                  th.btn-info style="width:60px" Seat_Number
         
     | 
| 
      
 6 
     | 
    
         
            +
                  th.btn-info style="width:150px" Name
         
     | 
| 
      
 7 
     | 
    
         
            +
              tbody
         
     | 
| 
      
 8 
     | 
    
         
            +
                - students.each do |student|
         
     | 
| 
      
 9 
     | 
    
         
            +
                  = tr_for student do
         
     | 
| 
      
 10 
     | 
    
         
            +
                    td.vm-tc
         
     | 
| 
      
 11 
     | 
    
         
            +
                    td.vm-tc
         
     | 
| 
      
 12 
     | 
    
         
            +
                    td.vm = student.full_name
         
     | 
| 
         @@ -0,0 +1,38 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            .row
         
     | 
| 
      
 2 
     | 
    
         
            +
              .col-md-12
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
                table.grading.main-grading.table.table-bordered.table-condensed
         
     | 
| 
      
 5 
     | 
    
         
            +
                  thead
         
     | 
| 
      
 6 
     | 
    
         
            +
                    tr
         
     | 
| 
      
 7 
     | 
    
         
            +
                      th.btn-primary Students
         
     | 
| 
      
 8 
     | 
    
         
            +
                      th.btn-success colspan='2' = @exam.name
         
     | 
| 
      
 9 
     | 
    
         
            +
                  tbody
         
     | 
| 
      
 10 
     | 
    
         
            +
                    tbody
         
     | 
| 
      
 11 
     | 
    
         
            +
                      tr
         
     | 
| 
      
 12 
     | 
    
         
            +
                        td.grading-students-td
         
     | 
| 
      
 13 
     | 
    
         
            +
                          = render 'gaku/courses/exams/grading/students', students: @students
         
     | 
| 
      
 14 
     | 
    
         
            +
                        td.grading-exam-scores-td
         
     | 
| 
      
 15 
     | 
    
         
            +
                          = render 'gaku/courses/exams/grading/exam_scores'
         
     | 
| 
      
 16 
     | 
    
         
            +
                        td.grading-calculations-td
         
     | 
| 
      
 17 
     | 
    
         
            +
                          = render 'gaku/courses/exams/grading/calculations'
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
                table.table.table-bordered
         
     | 
| 
      
 22 
     | 
    
         
            +
                  tr
         
     | 
| 
      
 23 
     | 
    
         
            +
                    td colspan="3"
         
     | 
| 
      
 24 
     | 
    
         
            +
                    td colspan="3"
         
     | 
| 
      
 25 
     | 
    
         
            +
                  tr
         
     | 
| 
      
 26 
     | 
    
         
            +
                    td
         
     | 
| 
      
 27 
     | 
    
         
            +
                    td
         
     | 
| 
      
 28 
     | 
    
         
            +
                    td
         
     | 
| 
      
 29 
     | 
    
         
            +
                    td 
         
     | 
| 
      
 30 
     | 
    
         
            +
                    td 
         
     | 
| 
      
 31 
     | 
    
         
            +
                    td 
         
     | 
| 
      
 32 
     | 
    
         
            +
                  tr
         
     | 
| 
      
 33 
     | 
    
         
            +
                    td
         
     | 
| 
      
 34 
     | 
    
         
            +
                    td
         
     | 
| 
      
 35 
     | 
    
         
            +
                    td
         
     | 
| 
      
 36 
     | 
    
         
            +
                    td
         
     | 
| 
      
 37 
     | 
    
         
            +
                    td
         
     | 
| 
      
 38 
     | 
    
         
            +
                    td
         
     | 
| 
         @@ -0,0 +1,25 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            doctype 5
         
     | 
| 
      
 2 
     | 
    
         
            +
            html
         
     | 
| 
      
 3 
     | 
    
         
            +
              head
         
     | 
| 
      
 4 
     | 
    
         
            +
                = favicon_link_tag 'gakuengine20.png'
         
     | 
| 
      
 5 
     | 
    
         
            +
                title
         
     | 
| 
      
 6 
     | 
    
         
            +
                  = content_for?(:title) ? yield(:title) + " | GAKU" : "GAKU"
         
     | 
| 
      
 7 
     | 
    
         
            +
                = javascript_tag '$.fx.off = true;' if Rails.env.test?
         
     | 
| 
      
 8 
     | 
    
         
            +
                = stylesheet_link_tag "gaku/all"
         
     | 
| 
      
 9 
     | 
    
         
            +
                = javascript_include_tag "gaku/all"
         
     | 
| 
      
 10 
     | 
    
         
            +
                = javascript_include_tag  "http://localhost:9292/faye.js"
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
                = csrf_meta_tags
         
     | 
| 
      
 14 
     | 
    
         
            +
              body data-action=current_controller_action data-parent-controller=current_parent_controller
         
     | 
| 
      
 15 
     | 
    
         
            +
                .container
         
     | 
| 
      
 16 
     | 
    
         
            +
                  = render 'gaku/shared/modal_config'
         
     | 
| 
      
 17 
     | 
    
         
            +
                  = render 'gaku/shared/menubar'
         
     | 
| 
      
 18 
     | 
    
         
            +
                  #notice
         
     | 
| 
      
 19 
     | 
    
         
            +
                    - unless flash.empty?
         
     | 
| 
      
 20 
     | 
    
         
            +
                      = render "gaku/shared/flash", flash: flash
         
     | 
| 
      
 21 
     | 
    
         
            +
                  #errors
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                  #modal-dialogs
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
                  = content_for?(:content) ? yield(:content) : yield
         
     | 
| 
         @@ -1,2 +1,2 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            <ul class="nav navbar-nav" id="menu" data-hook="menu">
         
     | 
| 
       2 
     | 
    
         
            -
            </ul> 
     | 
| 
      
 2 
     | 
    
         
            +
            </ul>
         
     |