abstracted 0.4.6 → 0.4.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/abstract_resources_controller.rb +7 -2
- data/app/controllers/application_controller.rb +13 -0
- data/app/controllers/concerns/print_control.rb +21 -6
- data/app/helpers/abstract_resources_helper.rb +4 -4
- data/config/initializers/pundit.rb +1 -0
- data/lib/abstracted/version.rb +1 -1
- data/lib/exceptions.rb +1 -0
- metadata +2 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c055ab045bed2013b335f344091d2a575ac8ab2e
|
4
|
+
data.tar.gz: 117bad3453bc31008e31968da646d9ba37386d11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dbc4574aa24d86adfd3fd778f0138f6f60b77490b0f470c5235b4a8012a97ddb51c577517454d31a643c0d496305639baf0fe56c5ef964fd1a162ebeaf9ddf15
|
7
|
+
data.tar.gz: a01485bc0301f39f5c587c362c4e9aed66a8235cdbd582aefa867cde994324b419945e20ad508633f256bf0a23b38acfede6d523de5f81d1c679479aaa0be9ad
|
@@ -5,7 +5,7 @@ require "parent_control"
|
|
5
5
|
|
6
6
|
class AbstractResourcesController < ApplicationController
|
7
7
|
self.responder = ::AbstractedResponder
|
8
|
-
respond_to :html, :xml, :js, :json
|
8
|
+
respond_to :html, :xml, :js, :json #, :xlsx
|
9
9
|
|
10
10
|
before_action :authenticate_user!
|
11
11
|
|
@@ -129,7 +129,12 @@ class AbstractResourcesController < ApplicationController
|
|
129
129
|
|
130
130
|
def index
|
131
131
|
authorize resource_class, :index?
|
132
|
-
respond_with resources
|
132
|
+
respond_with resources do |format|
|
133
|
+
# format.xlsx {
|
134
|
+
# # response.headers['Content-Disposition'] = 'attachment; filename="current_tyre_stock.xlsx"'
|
135
|
+
# render xlsx: 'stock_items/index', template: 'current_tyre_stock', filename: "current_tyre_stock.xlsx", disposition: 'inline', xlsx_created_at: Time.now, xlsx_author: "http://wheelstore.space"
|
136
|
+
# }
|
137
|
+
end
|
133
138
|
rescue Exception => e
|
134
139
|
scoop_from_error e
|
135
140
|
end
|
@@ -3,6 +3,19 @@ require 'exceptions'
|
|
3
3
|
#
|
4
4
|
class ApplicationController < ActionController::Base
|
5
5
|
|
6
|
+
#
|
7
|
+
# if you need a beta of some views - but with production data
|
8
|
+
#
|
9
|
+
# before_filter :setup_beta
|
10
|
+
#
|
11
|
+
# def setup_beta
|
12
|
+
# if request.subdomain == "beta"
|
13
|
+
# prepend_view_path "app/views/beta"
|
14
|
+
# # other beta setup
|
15
|
+
# end
|
16
|
+
# end
|
17
|
+
|
18
|
+
|
6
19
|
# Prevent CSRF attacks by raising an exception.
|
7
20
|
# For APIs, you may want to use :null_session instead.
|
8
21
|
protect_from_forgery with: :exception
|
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'active_support/concern'
|
2
2
|
#
|
3
3
|
#
|
4
|
-
# ARGS #
|
4
|
+
# ARGS # <a href="..?print[collation]=xx&print[paper]=yy.."
|
5
|
+
# # first value is default
|
5
6
|
#
|
6
7
|
# collation # 'list' | 'record'
|
7
8
|
# paper # 'A4' | 'label' | ...
|
@@ -38,7 +39,7 @@ require 'active_support/concern'
|
|
38
39
|
# TEMPLATE
|
39
40
|
# id
|
40
41
|
# account_id, # what 'system' / customer
|
41
|
-
# template_key, # a key to search the template by
|
42
|
+
# template_key, # a key to search the template by - provided by ARGS[template]
|
42
43
|
# template_path, # where the template is stored - like stock_items/print/zebra.html.haml
|
43
44
|
# template_content, # or what the template contains - all HTML, CSS etc.
|
44
45
|
# template_print_driver # identification of a particular driver -if necessary - like the :zebra
|
@@ -46,6 +47,16 @@ require 'active_support/concern'
|
|
46
47
|
# created_at
|
47
48
|
# updated_at
|
48
49
|
|
50
|
+
#
|
51
|
+
# PrintControl#print ->
|
52
|
+
# resource_class#print_list | resource#print | resource#send params[:print][:cmd] -> (PrintEngine)
|
53
|
+
# PrintJob#create ->
|
54
|
+
# BackgroundPrinterJob#perform_later pj ->
|
55
|
+
# PrintDrivers#print_with PrintDrivers#rendered_on | PrintDrivers#send_with PrintDrivers#rendered_on ->
|
56
|
+
# [Pdf|Html|Cab|Csv|Label]Printer#do_render -> ActionPrinter#do_render
|
57
|
+
# [Pdf|Html|Cab|Csv|Label]Printer#do_print ->
|
58
|
+
|
59
|
+
|
49
60
|
|
50
61
|
module PrintControl
|
51
62
|
extend ActiveSupport::Concern
|
@@ -75,6 +86,7 @@ module PrintControl
|
|
75
86
|
def print
|
76
87
|
authorize resource, :print?
|
77
88
|
if resources.any?
|
89
|
+
params[:context] = self
|
78
90
|
params[:printed_by] = current_user || User.first
|
79
91
|
params[:print] ||= {}
|
80
92
|
params[:print][:collation] ||= 'list'
|
@@ -97,8 +109,8 @@ module PrintControl
|
|
97
109
|
end
|
98
110
|
render :print, layout: false, status: status and return
|
99
111
|
|
100
|
-
rescue Exception => e
|
101
|
-
|
112
|
+
# rescue Exception => e
|
113
|
+
# scoop_from_error e
|
102
114
|
end
|
103
115
|
|
104
116
|
#
|
@@ -109,7 +121,7 @@ module PrintControl
|
|
109
121
|
case params[:print][:output_type].downcase
|
110
122
|
# when 'html'; render params[:print][:view_template_path], layout: 'print'
|
111
123
|
when 'html'; render "stock_items/print/_stock_items_list", layout: 'print'
|
112
|
-
|
124
|
+
when 'pdf'; download_print_result
|
113
125
|
end
|
114
126
|
end
|
115
127
|
|
@@ -118,6 +130,8 @@ module PrintControl
|
|
118
130
|
#
|
119
131
|
def download_print_result
|
120
132
|
params[:print][:output_type] ||= 'pdf'
|
133
|
+
params[:print][:medium]="download"
|
134
|
+
print_resources
|
121
135
|
end
|
122
136
|
|
123
137
|
#
|
@@ -129,6 +143,7 @@ module PrintControl
|
|
129
143
|
flash[:error] = t('output.email.email_address_missing')
|
130
144
|
return 301
|
131
145
|
else
|
146
|
+
print_resources
|
132
147
|
flash[:info] = t('output.email.email_sent')
|
133
148
|
return 200
|
134
149
|
end
|
@@ -169,7 +184,7 @@ module PrintControl
|
|
169
184
|
when 'record'
|
170
185
|
if params[:print][:cmd].blank?
|
171
186
|
resources.each do |res|
|
172
|
-
return PRINTRECERROR unless res.print_record params
|
187
|
+
return PRINTRECERROR unless res.print_record params
|
173
188
|
end
|
174
189
|
else
|
175
190
|
resources.each do |res|
|
@@ -123,7 +123,7 @@ module AbstractResourcesHelper
|
|
123
123
|
#
|
124
124
|
# lnk = parent? ? (parent_url + "/#{resource_name}") : "/#{resource_name}"
|
125
125
|
# lnk += options.empty? ? "" : "?" + options.collect{ |k,v| "#{k}=#{v}" }.join("&")
|
126
|
-
options = resources if resources.class == Hash
|
126
|
+
options = resources if resources.class == Hash
|
127
127
|
opt = {}
|
128
128
|
opt.merge!(options) if options.class==Hash
|
129
129
|
opt[:controller] ||= resource_class.table_name
|
@@ -307,8 +307,8 @@ module AbstractResourcesHelper
|
|
307
307
|
|
308
308
|
def set_toasts
|
309
309
|
toast_messages = []
|
310
|
-
flash.each do |type,
|
311
|
-
message_arr =
|
310
|
+
flash.each do |type, msg|
|
311
|
+
message_arr = msg.size < 61 ? [msg] : divide_text( msg, [60,60,60,60] )
|
312
312
|
message_arr.each do |message|
|
313
313
|
case type
|
314
314
|
when 'error','danger','alert'; toast_messages << "Materialize.toast('#{message}',8000, 'red darken-4');"
|
@@ -557,7 +557,7 @@ module AbstractResourcesHelper
|
|
557
557
|
end
|
558
558
|
options[:data][:field] = (options.delete :field) || field
|
559
559
|
options[:data][:direction] = (options.delete :direction) || @sorting_direction
|
560
|
-
txt = []
|
560
|
+
# txt = []
|
561
561
|
content_tag :th, options do
|
562
562
|
if options[:role] && options[:role]=="sort"
|
563
563
|
mark_sorted options[:data][:field], I18n.translate( "tables.headers.#{field}.label")
|
data/lib/abstracted/version.rb
CHANGED
data/lib/exceptions.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abstracted
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Walther H Diechmann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -371,11 +371,9 @@ files:
|
|
371
371
|
- spec/dummy/config/secrets.yml
|
372
372
|
- spec/dummy/db/development.sqlite3
|
373
373
|
- spec/dummy/db/schema.rb
|
374
|
-
- spec/dummy/db/test.sqlite3
|
375
374
|
- spec/dummy/lib/assets/.keep
|
376
375
|
- spec/dummy/log/.keep
|
377
376
|
- spec/dummy/log/development.log
|
378
|
-
- spec/dummy/log/test.log
|
379
377
|
- spec/dummy/public/404.html
|
380
378
|
- spec/dummy/public/422.html
|
381
379
|
- spec/dummy/public/500.html
|
@@ -627,11 +625,9 @@ test_files:
|
|
627
625
|
- spec/dummy/config/secrets.yml
|
628
626
|
- spec/dummy/db/development.sqlite3
|
629
627
|
- spec/dummy/db/schema.rb
|
630
|
-
- spec/dummy/db/test.sqlite3
|
631
628
|
- spec/dummy/lib/assets/.keep
|
632
629
|
- spec/dummy/log/.keep
|
633
630
|
- spec/dummy/log/development.log
|
634
|
-
- spec/dummy/log/test.log
|
635
631
|
- spec/dummy/public/404.html
|
636
632
|
- spec/dummy/public/422.html
|
637
633
|
- spec/dummy/public/500.html
|