ecm_courses2_backend 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|