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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 728d1f9fa3e3d0feb05dfaeec95e0ea033434748
4
- data.tar.gz: 926bb1f5b073e9f77ffc0ce46e753bd17374fe20
3
+ metadata.gz: 61bae19408b79cc2c47436c3cd41ccaf776dc107
4
+ data.tar.gz: bef115ef9cf408f7aa6acb640756dc80c1e118a9
5
5
  SHA512:
6
- metadata.gz: e931199b583604580f6e88d144a6c9fdb2a3594eef40a5c29ce21d8d5ec156dd88b95f25b235cbcd885a869ed9667b5816576e845e23e19524628e14d98b3d5c
7
- data.tar.gz: 64cc8c7b4ebbd377a301a726d9e7f0539a626a10d68fe134df524f991ce263df056578bc1931c0087b3fb961b176835b2e91c09d15adfb5af6049ec7a2bd1cbb
6
+ metadata.gz: 602d7d022693ec2fc2fc6407f18a98790c99d6eec5ab5b4a5e71e08091c5107e818b0bcccbfd6175ea9c244bc6ed11204e85a8be9fbe615ccb579c8bb3b61c6b
7
+ data.tar.gz: 9c1739bf3db4446ddd8febaa44cd74c48c2a8b11f1156cb9e9708693001819465fbf2436bc9fd606de303292bbe9e7239757273d81de32c821318bc9c6513981
@@ -0,0 +1,3 @@
1
+ .display-inline {
2
+ display: inline;
3
+ }
@@ -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
@@ -1,4 +1,6 @@
1
1
  = form.association :course_category
2
2
  = form.input :locale, collection: I18n.available_locales
3
3
  = form.input :name
4
- = form.input :description
4
+ = form.input :description
5
+ = form.input :seats
6
+ = form.input :used_seats
@@ -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.column :course_category, as: :association, sortable: true
2
- = table.column :locale, sortable: true
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.acts_as_list_actions scope: 'course_category_id'
6
- = table.timestamps
17
+ = table.column :created_at
18
+ = table.column :updated_at
@@ -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}"
@@ -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
 
@@ -1,7 +1,7 @@
1
1
  module Ecm
2
2
  module Courses
3
3
  module Backend
4
- VERSION = '0.1.3'.freeze
4
+ VERSION = '0.2.0'.freeze
5
5
  end
6
6
  end
7
7
  end
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.1.3
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: 2017-07-15 00:00:00.000000000 Z
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/dummy.css
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