ecm_courses2_backend 0.1.3 → 0.2.0
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/stylesheets/ecm/courses/backend/application/btn_label.css +3 -0
- data/app/concerns/controller/used_seats_concern.rb +23 -0
- data/app/controllers/ecm/courses/backend/courses_controller.rb +2 -1
- data/app/views/ecm/courses/backend/courses/_form.haml +3 -1
- data/app/views/ecm/courses/backend/courses/_show.haml +12 -0
- data/app/views/ecm/courses/backend/courses/_table.haml +16 -4
- data/config/locales/de.yml +9 -1
- data/config/locales/en.yml +9 -1
- data/config/routes.rb +2 -0
- data/lib/ecm/courses/backend/version.rb +1 -1
- metadata +5 -3
- data/app/assets/stylesheets/ecm/courses/backend/application/dummy.css +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 61bae19408b79cc2c47436c3cd41ccaf776dc107
|
4
|
+
data.tar.gz: bef115ef9cf408f7aa6acb640756dc80c1e118a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 602d7d022693ec2fc2fc6407f18a98790c99d6eec5ab5b4a5e71e08091c5107e818b0bcccbfd6175ea9c244bc6ed11204e85a8be9fbe615ccb579c8bb3b61c6b
|
7
|
+
data.tar.gz: 9c1739bf3db4446ddd8febaa44cd74c48c2a8b11f1156cb9e9708693001819465fbf2436bc9fd606de303292bbe9e7239757273d81de32c821318bc9c6513981
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Controller
|
2
|
+
module UsedSeatsConcern
|
3
|
+
def increment_used_seats
|
4
|
+
@resource = load_resource
|
5
|
+
@resource.used_seats += 1
|
6
|
+
if @resource.save
|
7
|
+
redirect_to collection_path, notice: I18n.t("controller.used_seats_concern.increment.succeeded")
|
8
|
+
else
|
9
|
+
redirect_to collection_path, alert: I18n.t("controller.used_seats_concern.increment.failed", errors: @resource.errors.full_messages.to_sentence)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def decrement_used_seats
|
14
|
+
@resource = load_resource
|
15
|
+
@resource.used_seats -= 1
|
16
|
+
if @resource.save
|
17
|
+
redirect_to collection_path, notice: I18n.t("controller.used_seats_concern.decrement.succeeded")
|
18
|
+
else
|
19
|
+
redirect_to collection_path, alert: I18n.t("controller.used_seats_concern.decrement.failed", errors: @resource.errors.full_messages.to_sentence)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -4,6 +4,7 @@ module Ecm
|
|
4
4
|
class CoursesController < Itsf::Backend::Resource::BaseController
|
5
5
|
include Controller::ActsAsListConcern
|
6
6
|
include Controller::FriendlyIdConcern
|
7
|
+
include Controller::UsedSeatsConcern
|
7
8
|
|
8
9
|
def self.resource_class
|
9
10
|
Ecm::Courses::Course
|
@@ -12,7 +13,7 @@ module Ecm
|
|
12
13
|
private
|
13
14
|
|
14
15
|
def permitted_params
|
15
|
-
params.require(:course).permit(:course_category_id, :locale, :name, :description)
|
16
|
+
params.require(:course).permit(:course_category_id, :locale, :name, :description, :seats, :used_seats)
|
16
17
|
end
|
17
18
|
end
|
18
19
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
= table.row :course_category do |resource|
|
2
|
+
= link_to(resource.course_category.name, [resource.course_category])
|
3
|
+
= table.row :locale
|
4
|
+
= table.row :name
|
5
|
+
= table.row :description
|
6
|
+
= table.row :seats
|
7
|
+
= table.row :used_seats
|
8
|
+
= table.row :free_seats do |resource|
|
9
|
+
= resource.free_seats
|
10
|
+
%span{ class: "label label-#{resource.free_seats_level_properties[:css_class]}" }= number_to_percentage(resource.free_seats_percentage, precision: 1)
|
11
|
+
= table.row :created_at
|
12
|
+
= table.row :updated_at
|
@@ -1,6 +1,18 @@
|
|
1
|
-
= table.
|
2
|
-
= table.column :
|
1
|
+
= table.acts_as_list_actions scope: 'course_category_id'
|
2
|
+
= table.column :course_category, as: :association, sortable: true, url: ->(resource) { [resource.course_category] }
|
3
3
|
= table.column :name, sortable: true
|
4
|
+
= table.column :locale, sortable: true
|
5
|
+
= table.column :seats
|
6
|
+
= table.column :free_seats do |resource|
|
7
|
+
.btn-group
|
8
|
+
%span{ class: "label label-#{resource.free_seats_level_properties[:css_class]}" }
|
9
|
+
= number_to_percentage(resource.free_seats_percentage, precision: 1)
|
10
|
+
= "(#{resource.free_seats})"
|
11
|
+
= table.column :used_seats do |resource|
|
12
|
+
.btn-group
|
13
|
+
= button_to('-', [:decrement_used_seats, resource], class: 'btn btn-default btn-xs btn-danger', form_class: 'display-inline')
|
14
|
+
%span= resource.used_seats
|
15
|
+
= button_to('+', [:increment_used_seats, resource], class: 'btn btn-default btn-xs btn-success', form_class: 'display-inline')
|
4
16
|
= table.column :description, sortable: true, class: 'truncate-chars truncate-chars-30'
|
5
|
-
= table.
|
6
|
-
= table.
|
17
|
+
= table.column :created_at
|
18
|
+
= table.column :updated_at
|
data/config/locales/de.yml
CHANGED
@@ -2,4 +2,12 @@ de:
|
|
2
2
|
classes:
|
3
3
|
ecm/courses/backend/engine: 'Kurse'
|
4
4
|
routes:
|
5
|
-
ecm-courses-backend-engine: 'kurse'
|
5
|
+
ecm-courses-backend-engine: 'kurse'
|
6
|
+
controller:
|
7
|
+
used_seats_concern:
|
8
|
+
decrement:
|
9
|
+
succeeded: Anzahl belegter Plätze verringert.
|
10
|
+
failed: "Konnte die Anzahl belegter Plätze nicht verringern: %{errors}"
|
11
|
+
increment:
|
12
|
+
succeeded: Anzahl belegter Plätze erhöht.
|
13
|
+
failed: "Konnte die Anzahl belegter Plätze nicht erhöhen: %{errors}"
|
data/config/locales/en.yml
CHANGED
@@ -2,4 +2,12 @@ en:
|
|
2
2
|
classes:
|
3
3
|
ecm/courses/backend/engine: 'Courses'
|
4
4
|
routes:
|
5
|
-
ecm-courses-backend-engine: 'courses'
|
5
|
+
ecm-courses-backend-engine: 'courses'
|
6
|
+
controller:
|
7
|
+
used_seats_concern:
|
8
|
+
decrement:
|
9
|
+
succeeded: Decreased number of free seats.
|
10
|
+
failed: "Could not decrease number of free seats: %{errors}"
|
11
|
+
increment:
|
12
|
+
succeeded: Incecreased number of free seats.
|
13
|
+
failed: "Could not increase number of free seats: %{errors}"
|
data/config/routes.rb
CHANGED
@@ -2,6 +2,8 @@ Ecm::Courses::Backend::Engine.routes.draw do
|
|
2
2
|
backend_resources :course_categories
|
3
3
|
backend_resources :courses do
|
4
4
|
post :reposition, on: :member
|
5
|
+
post :decrement_used_seats, on: :member
|
6
|
+
post :increment_used_seats, on: :member
|
5
7
|
end
|
6
8
|
backend_resources :course_dates
|
7
9
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ecm_courses2_backend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roberto Vasquez Angel
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -52,8 +52,9 @@ files:
|
|
52
52
|
- app/assets/javascripts/ecm/courses/backend/application/dummy.js
|
53
53
|
- app/assets/javascripts/ecm_courses_backend.js
|
54
54
|
- app/assets/stylesheets/ecm/courses/backend/application.css
|
55
|
-
- app/assets/stylesheets/ecm/courses/backend/application/
|
55
|
+
- app/assets/stylesheets/ecm/courses/backend/application/btn_label.css
|
56
56
|
- app/assets/stylesheets/ecm_courses_backend.css
|
57
|
+
- app/concerns/controller/used_seats_concern.rb
|
57
58
|
- app/controllers/ecm/courses/backend/course_categories_controller.rb
|
58
59
|
- app/controllers/ecm/courses/backend/course_dates_controller.rb
|
59
60
|
- app/controllers/ecm/courses/backend/courses_controller.rb
|
@@ -65,6 +66,7 @@ files:
|
|
65
66
|
- app/views/ecm/courses/backend/course_dates/_form.haml
|
66
67
|
- app/views/ecm/courses/backend/course_dates/_table.haml
|
67
68
|
- app/views/ecm/courses/backend/courses/_form.haml
|
69
|
+
- app/views/ecm/courses/backend/courses/_show.haml
|
68
70
|
- app/views/ecm/courses/backend/courses/_table.haml
|
69
71
|
- app/views/layouts/ecm/courses/backend/application.html.erb
|
70
72
|
- config/initializers/assets.rb
|
File without changes
|