gaku 0.0.2 → 0.0.3
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/.rspec +1 -3
- data/.travis.yml +11 -8
- data/README.md +2 -4
- data/VERSION +1 -1
- data/core/Guardfile +24 -14
- data/core/Rakefile +0 -3
- data/core/app/controllers/gaku/admin/disposals_controller.rb +18 -45
- data/core/app/controllers/gaku/exams_controller.rb +2 -2
- data/core/app/controllers/gaku/syllabuses/exams_controller.rb +2 -2
- data/core/app/models/gaku/address.rb +1 -1
- data/core/app/models/gaku/disposal.rb +45 -0
- data/core/app/models/gaku/exam_portion.rb +1 -1
- data/core/app/models/gaku/student.rb +2 -2
- data/core/app/models/gaku/user.rb +1 -1
- data/core/app/models/gaku/versioning/student_version.rb +7 -12
- data/core/app/views/gaku/shared/overrides/students/_import_link.html.slim +0 -0
- data/core/app/views/gaku/shared/overrides/syllabuses/_import_link.html.slim +0 -0
- data/core/app/views/gaku/students/index.html.slim +1 -1
- data/core/app/views/gaku/syllabuses/index.html.slim +1 -1
- data/core/config/initializers/active_record.rb +1 -1
- data/core/config/routes.rb +1 -9
- data/core/db/default/gaku/attendance_types.rb +18 -8
- data/core/db/default/gaku/commute_method_types.rb +12 -20
- data/core/db/default/gaku/enrollment_status.rb +34 -31
- data/core/db/default/gaku/scholarship_statuses.rb +11 -8
- data/core/db/migrate/20120202111850_translated_tables.rb +52 -0
- data/core/db/migrate/{20120202111850_gaku_core.rb → 20131014065028_gaku_core.rb} +0 -86
- data/core/gaku_core.gemspec +43 -40
- data/core/lib/gaku/core.rb +2 -3
- data/core/lib/gaku/core/version.rb +1 -1
- data/core/lib/generators/gaku/install/install_generator.rb +1 -10
- data/core/spec/models/address_spec.rb +1 -1
- data/core/spec/spec_helper.rb +3 -3
- data/gaku_dependencies.rb +2 -12
- data/sample/db/sample/gaku/changes/student_changes.rb +3 -3
- data/sample/gaku_sample.gemspec +0 -1
- data/sample/lib/shared_sample_data.rb +2 -2
- metadata +12 -35
- data/core/app/controllers/gaku/students/importer_controller.rb +0 -75
- data/core/app/controllers/gaku/syllabuses/importer_controller.rb +0 -19
- data/core/app/models/gaku/import_file.rb +0 -5
- data/core/app/views/gaku/students/importer/index.html.slim +0 -26
- data/core/app/views/gaku/students/importer/roster_import_preview.html.slim +0 -4
- data/core/app/views/gaku/syllabuses/importer/index.html.slim +0 -14
- data/core/app/workers/gaku/importers/students/roster_worker.rb +0 -18
- data/core/app/workers/gaku/importers/students/school_station_zaikousei_worker.rb +0 -15
- data/core/config/initializers/sidekiq.rb +0 -6
- data/core/lib/gaku/exporters/roster_exporter.rb +0 -36
- data/core/lib/gaku/importers/key_mapper.rb +0 -19
- data/core/lib/gaku/importers/logger.rb +0 -10
- data/core/lib/gaku/importers/students/guardians.rb +0 -89
- data/core/lib/gaku/importers/students/personal_information.rb +0 -65
- data/core/lib/gaku/importers/students/roster.rb +0 -50
- data/core/lib/gaku/importers/students/roster_to_student.rb +0 -67
- data/core/lib/gaku/importers/students/school_station_zaikousei.rb +0 -109
- data/core/lib/gaku/importers/students/student_identity.rb +0 -17
- data/core/lib/gaku/testing/factories/import_file_factory.rb +0 -8
- data/core/lib/generators/gaku/install/templates/Procfile +0 -2
- data/core/lib/generators/gaku/install/templates/config/sidekiq.yml +0 -8
- data/core/spec/integration/importers/roster_spec.rb +0 -41
- data/core/spec/models/import_file_spec.rb +0 -9
- data/core/spec/requests/students/import_export.rb +0 -37
- data/core/spec/support/sample_roster.xls +0 -0
- data/core/spec/workers/roster_spec.rb +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 59cd64203ab111b1fb870b931e9353c54cab08bc
|
4
|
+
data.tar.gz: a73fd03a09e8b864ebff4d417139624a8fac2d92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f325c7034f3fcfdecd9b8e7373476a847fe72faa7db8b9854b4bd356712f4f7d6d1cce35c338657c4bb72636cc10db16356b58d1f807ba05edd4d96038f9314
|
7
|
+
data.tar.gz: 597b0c1cae22019f6803504505ac21290476b5749e3252cba57d08a8a1f387fdb6715d873422ff385c8b88e3e10ebd9caadb11fd0ed2c95934ed89e17ee34623
|
data/.rspec
CHANGED
data/.travis.yml
CHANGED
@@ -2,22 +2,25 @@ before_script:
|
|
2
2
|
- sh -e /etc/init.d/xvfb start
|
3
3
|
- export DISPLAY=:99.0
|
4
4
|
- psql -c 'create database gaku_test;' -U postgres
|
5
|
-
bundler_args: --without
|
5
|
+
bundler_args: --without production
|
6
6
|
env:
|
7
|
-
- GEM=core DB=postgres
|
7
|
+
- TEST_SUITE=models GEM=core DB=postgres
|
8
|
+
- TEST_SUITE=controllers GEM=core DB=postgres
|
9
|
+
- TEST_SUITE=integration GEM=core DB=postgres
|
10
|
+
- TEST_SUITE=routing GEM=core DB=postgres
|
11
|
+
- TEST_SUITE=requests GEM=core DB=postgres
|
8
12
|
before_install:
|
9
|
-
- gem install bundler --pre
|
13
|
+
- travis_retry gem install bundler --pre
|
10
14
|
- cd $GEM; export BUNDLE_GEMFILE="`pwd`/Gemfile"
|
11
15
|
script:
|
12
16
|
- bundle exec rake test_app
|
13
|
-
- SELENIUM=1 I18N=1 bundle exec rspec
|
17
|
+
- SELENIUM=1 I18N=1 bundle exec rspec spec/$TEST_SUITE
|
14
18
|
|
15
19
|
notifications:
|
16
|
-
email:
|
17
|
-
- false
|
20
|
+
email: false
|
18
21
|
irc:
|
19
|
-
|
20
|
-
|
22
|
+
on_success: change
|
23
|
+
on_failure: always
|
21
24
|
channels:
|
22
25
|
- "irc.freenode.org#gaku"
|
23
26
|
rvm:
|
data/README.md
CHANGED
@@ -66,13 +66,11 @@ Create a new Rails application:
|
|
66
66
|
|
67
67
|
Then add GAKU to your Gemfile:
|
68
68
|
```ruby
|
69
|
-
gem '
|
70
|
-
gem 'gaku', '~> 0.0.2'
|
69
|
+
gem 'gaku', '~> 0.0.3'
|
71
70
|
```
|
72
71
|
|
73
|
-
Or use the master branch:
|
72
|
+
Or use the master branch:
|
74
73
|
```ruby
|
75
|
-
gem 'globalize3', github: 'globalize/globalize', branch: 'rails4', ref: '82b3b36308677745b261bd147dda00ed4560a25d'
|
76
74
|
gem 'gaku', github: 'Genshin/gaku'
|
77
75
|
```
|
78
76
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/core/Guardfile
CHANGED
@@ -1,21 +1,31 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# A sample Guardfile
|
2
|
+
# More info at https://github.com/guard/guard#readme
|
3
|
+
|
4
|
+
guard 'bundler' do
|
5
|
+
watch('Gemfile')
|
6
|
+
# Uncomment next line if Gemfile contain `gemspec' command
|
7
|
+
# watch(/^.+\.gemspec/)
|
8
|
+
end
|
9
|
+
|
10
|
+
guard :rspec do
|
3
11
|
watch(%r{^spec/.+_spec\.rb$})
|
12
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
|
13
|
+
watch('spec/spec_helper.rb') { "spec" }
|
14
|
+
|
15
|
+
# Rails example
|
4
16
|
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
5
|
-
watch(%r{^
|
6
|
-
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/
|
17
|
+
watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
|
18
|
+
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
|
7
19
|
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
|
8
|
-
watch(
|
9
|
-
watch(
|
10
|
-
watch("app/controllers/application_controller.rb") { "spec/controllers" }
|
11
|
-
# Capybara request specs
|
12
|
-
watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
|
13
|
-
watch(%r{^app/assets/javascripts/(.+)/.*\.(js|coffee|erb)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
|
14
|
-
end
|
20
|
+
watch('config/routes.rb') { "spec/routing" }
|
21
|
+
watch('app/controllers/application_controller.rb') { "spec/controllers" }
|
15
22
|
|
16
|
-
|
17
|
-
watch(
|
18
|
-
|
23
|
+
# Capybara features specs
|
24
|
+
watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
|
25
|
+
|
26
|
+
# Turnip features and steps
|
27
|
+
watch(%r{^spec/acceptance/(.+)\.feature$})
|
28
|
+
watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
|
19
29
|
end
|
20
30
|
|
21
31
|
guard :rubocop do
|
data/core/Rakefile
CHANGED
@@ -4,12 +4,9 @@ require 'rake'
|
|
4
4
|
require 'rake/testtask'
|
5
5
|
require 'rake/packagetask'
|
6
6
|
require 'rubygems/package_task'
|
7
|
-
require 'rspec/core/rake_task'
|
8
|
-
require 'rspec/core/runner'
|
9
7
|
require 'gaku/testing/common_rake'
|
10
8
|
|
11
9
|
Bundler::GemHelper.install_tasks
|
12
|
-
RSpec::Core::RakeTask.new
|
13
10
|
|
14
11
|
spec = eval(File.read('gaku_core.gemspec'))
|
15
12
|
Gem::PackageTask.new(spec) do |p|
|
@@ -8,74 +8,47 @@ module Gaku
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def students
|
11
|
-
@students =
|
12
|
-
.page(params[:page])
|
13
|
-
.per(Preset.default_per_page)
|
11
|
+
@students = Disposal.students.page(params[:page])
|
14
12
|
end
|
15
13
|
|
16
14
|
def teachers
|
17
|
-
@teachers =
|
18
|
-
.page(params[:page])
|
19
|
-
.per(Preset.default_per_page)
|
15
|
+
@teachers = Disposal.teachers.page(params[:page])
|
20
16
|
end
|
21
17
|
|
22
18
|
def guardians
|
23
|
-
@guardians =
|
24
|
-
.page(params[:page])
|
25
|
-
.per(Preset.default_per_page)
|
19
|
+
@guardians = Disposal.guardians.page(params[:page])
|
26
20
|
end
|
27
21
|
|
28
22
|
def exams
|
29
|
-
@exams =
|
30
|
-
.page(params[:page])
|
31
|
-
.per(Preset.default_per_page)
|
23
|
+
@exams = Disposal.exams.page(params[:page])
|
32
24
|
end
|
33
25
|
|
34
26
|
def course_groups
|
35
|
-
@course_groups =
|
36
|
-
.page(params[:page])
|
37
|
-
.per(Preset.default_per_page)
|
27
|
+
@course_groups = Disposal.course_groups.page(params[:page])
|
38
28
|
end
|
39
29
|
|
40
30
|
def attachments
|
41
|
-
@attachments =
|
42
|
-
|
43
|
-
.page(params[:page])
|
44
|
-
.per(Preset.default_per_page)
|
31
|
+
@attachments = Disposal.attachments.page(params[:page])
|
32
|
+
|
45
33
|
end
|
46
34
|
|
47
35
|
def addresses
|
48
|
-
@student_addresses =
|
49
|
-
|
50
|
-
|
51
|
-
.page(params[:page])
|
52
|
-
.per(Preset.default_per_page)
|
53
|
-
|
54
|
-
@teacher_addresses = Address.includes(:addressable, :country)
|
55
|
-
.deleted
|
56
|
-
.teachers
|
57
|
-
.page(params[:page])
|
58
|
-
.per(Preset.default_per_page)
|
59
|
-
|
60
|
-
@students_count = Address.deleted.students.count
|
61
|
-
@teachers_count = Address.deleted.teachers.count
|
36
|
+
@student_addresses = Disposal.student_addresses.page(params[:page])
|
37
|
+
@teacher_addresses = Disposal.teacher_addresses.page(params[:page])
|
38
|
+
set_student_and_teacher_count('Gaku::Address')
|
62
39
|
end
|
63
40
|
|
64
41
|
def contacts
|
65
|
-
@student_contacts =
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
.per(Preset.default_per_page)
|
42
|
+
@student_contacts = Disposal.student_contacts.page(params[:page])
|
43
|
+
@teacher_contacts = Disposal.teacher_contacts.page(params[:page])
|
44
|
+
set_student_and_teacher_count('Gaku::Contact')
|
45
|
+
end
|
70
46
|
|
71
|
-
|
72
|
-
.deleted
|
73
|
-
.teachers
|
74
|
-
.page(params[:page]).
|
75
|
-
per(Preset.default_per_page)
|
47
|
+
private
|
76
48
|
|
77
|
-
|
78
|
-
@
|
49
|
+
def set_student_and_teacher_count(klass)
|
50
|
+
@students_count = klass.constantize.deleted.students.count
|
51
|
+
@teachers_count = klass.constantize.deleted.teachers.count
|
79
52
|
end
|
80
53
|
|
81
54
|
end
|
@@ -131,9 +131,9 @@ module Gaku
|
|
131
131
|
|
132
132
|
def find_exams
|
133
133
|
if params[:id] != nil
|
134
|
-
@exams = Exam.
|
134
|
+
@exams = Exam.where(id: params[:id])
|
135
135
|
else
|
136
|
-
@exams = @course.syllabus.exams
|
136
|
+
@exams = @course.syllabus.exams
|
137
137
|
end
|
138
138
|
end
|
139
139
|
end
|
@@ -37,7 +37,7 @@ module Gaku
|
|
37
37
|
end
|
38
38
|
|
39
39
|
def load_data
|
40
|
-
@grading_methods = GradingMethod.
|
40
|
+
@grading_methods = GradingMethod.pluck(:name, :id)
|
41
41
|
end
|
42
42
|
|
43
43
|
def syllabus
|
@@ -45,7 +45,7 @@ module Gaku
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def exam_syllabus
|
48
|
-
@exam_syllabus = ExamSyllabus.
|
48
|
+
@exam_syllabus = ExamSyllabus.find_by(exam_id: params[:id], syllabus_id: params[:syllabus_id])
|
49
49
|
end
|
50
50
|
|
51
51
|
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module Gaku
|
2
|
+
class Disposal
|
3
|
+
|
4
|
+
def self.students
|
5
|
+
Student.deleted
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.teachers
|
9
|
+
Teacher.deleted
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.guardians
|
13
|
+
Guardian.deleted
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.exams
|
17
|
+
Exam.deleted
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.course_groups
|
21
|
+
CourseGroup.deleted
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.attachments
|
25
|
+
Attachment.includes(:attachable).deleted
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.student_addresses
|
29
|
+
Address.includes(:addressable, :country).deleted.students
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.teacher_addresses
|
33
|
+
Address.includes(:addressable, :country).deleted.teachers
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.student_contacts
|
37
|
+
Contact.includes(:contactable, :contact_type).deleted.students
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.teacher_contacts
|
41
|
+
Contact.includes(:contactable, :contact_type).deleted.teachers
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
@@ -78,7 +78,7 @@ module Gaku
|
|
78
78
|
def refresh_positions
|
79
79
|
exam_portions = exam.exam_portions
|
80
80
|
exam_portions.pluck(:id).each_with_index do |id, index|
|
81
|
-
exam_portions.update_all(
|
81
|
+
exam_portions.where(id: id).update_all(position: index)
|
82
82
|
end
|
83
83
|
end
|
84
84
|
|
@@ -78,11 +78,11 @@ module Gaku
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def set_scholarship_status
|
81
|
-
self.scholarship_status = ScholarshipStatus.
|
81
|
+
self.scholarship_status = ScholarshipStatus.find_by(default: true)
|
82
82
|
end
|
83
83
|
|
84
84
|
def active
|
85
|
-
enrollment_status = EnrollmentStatus.
|
85
|
+
enrollment_status = EnrollmentStatus.find_by(code: enrollment_status_code)
|
86
86
|
if enrollment_status
|
87
87
|
enrollment_status.active?
|
88
88
|
else
|
@@ -21,9 +21,9 @@ module Gaku::Versioning
|
|
21
21
|
when 'enrollment_status_code'
|
22
22
|
enrollment_status_code_change(key0, key1)
|
23
23
|
when 'commute_method_type_id'
|
24
|
-
|
24
|
+
common_change('CommuteMethodType', key0, key1)
|
25
25
|
when 'scholarship_status_id'
|
26
|
-
|
26
|
+
common_change('ScholarshipStatus', key0, key1)
|
27
27
|
else
|
28
28
|
@human_changes[key] = [key0, key1]
|
29
29
|
end
|
@@ -38,16 +38,11 @@ module Gaku::Versioning
|
|
38
38
|
@human_changes[:enrollment_status] = [from, to]
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
def scholarship_status_change(key0, key1)
|
48
|
-
from = Gaku::ScholarshipStatus.find(key0).to_s if key0
|
49
|
-
to = Gaku::ScholarshipStatus.find(key1).to_s if key1
|
50
|
-
@human_changes[:scholarship_status] = [from, to]
|
41
|
+
def common_change(klass_name, key0, key1)
|
42
|
+
klass = "Gaku::#{klass_name}".constantize
|
43
|
+
from = klass.find(key0).to_s if key0
|
44
|
+
to = klass.find(key1).to_s if key1
|
45
|
+
@human_changes[klass_name.underscore.to_sym] = [from, to]
|
51
46
|
end
|
52
47
|
|
53
48
|
end
|
File without changes
|
File without changes
|
@@ -6,7 +6,7 @@
|
|
6
6
|
= print_count @count, t(:'student.list')
|
7
7
|
.pull-right
|
8
8
|
= ajax_link_to_new t(:'student.new'), new_student_path, id: "new-student-link"
|
9
|
-
=
|
9
|
+
= render 'gaku/shared/overrides/students/import_link'
|
10
10
|
|
11
11
|
= content_for :new_form do
|
12
12
|
#new-student.hide
|
@@ -6,7 +6,7 @@
|
|
6
6
|
= print_count @count, t_syllabus_list
|
7
7
|
.pull-right
|
8
8
|
= ajax_link_to_new t(:'syllabus.new'), [:new, :syllabus], id: "new-syllabus-link"
|
9
|
-
=
|
9
|
+
= render 'gaku/shared/overrides/syllabuses/import_link'
|
10
10
|
|
11
11
|
= content_for :new_form do
|
12
12
|
#new-syllabus.hide
|
@@ -19,7 +19,7 @@ class ActiveRecord::Associations::HasManyThroughAssociation
|
|
19
19
|
def delete_records(records, method)
|
20
20
|
ensure_not_nested
|
21
21
|
|
22
|
-
scope = through_association.
|
22
|
+
scope = through_association.scope.where(construct_join_attributes(*records))
|
23
23
|
|
24
24
|
case method
|
25
25
|
when :destroy
|
data/core/config/routes.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
Gaku::Core::Engine.routes.draw do
|
2
2
|
|
3
|
-
mount Sidekiq::Web => '/sidekiq'
|
4
|
-
|
5
3
|
concern :addressable do
|
6
4
|
resources :addresses do
|
7
5
|
member do
|
@@ -124,7 +122,6 @@ Gaku::Core::Engine.routes.draw do
|
|
124
122
|
resources :exams, controller: 'syllabuses/exams'
|
125
123
|
resources :exam_syllabuses, controller: 'syllabuses/exam_syllabuses'
|
126
124
|
resources :notes
|
127
|
-
resources :importer, controller: 'syllabuses/importer'
|
128
125
|
end
|
129
126
|
|
130
127
|
resources :teachers, concerns: %i( addressable contactable ) do
|
@@ -150,12 +147,7 @@ Gaku::Core::Engine.routes.draw do
|
|
150
147
|
get 'page/:page', action: :index
|
151
148
|
get :load_autocomplete_data
|
152
149
|
|
153
|
-
|
154
|
-
collection do
|
155
|
-
get :get_roster
|
156
|
-
get :get_registration_roster
|
157
|
-
end
|
158
|
-
end
|
150
|
+
|
159
151
|
end
|
160
152
|
|
161
153
|
resources :simple_grades, controller: 'students/simple_grades'
|