vesr 0.1.4 → 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.
- data/app/controllers/esr_files_controller.rb +2 -0
- data/app/models/esr_file.rb +4 -2
- data/app/models/esr_record.rb +4 -4
- data/app/uploaders/esr_file_uploader.rb +12 -0
- data/app/views/esr_bookings/_form.html.erb +9 -4
- data/config/routes.rb +3 -0
- data/db/migrate/2_port_to_carrierwave.rb +13 -0
- data/lib/vesr/prawn/esr_recipe.rb +0 -1
- data/lib/vesr/version.rb +1 -1
- metadata +8 -5
- data/app/controllers/esr_bookings_controller.rb +0 -62
data/app/models/esr_file.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
class EsrFile < ActiveRecord::Base
|
2
|
-
|
2
|
+
# File upload
|
3
|
+
mount_uploader :file, EsrFileUploader
|
4
|
+
|
3
5
|
has_many :esr_records, :dependent => :destroy
|
4
6
|
|
5
7
|
def to_s(format = :default)
|
@@ -19,7 +21,7 @@ class EsrFile < ActiveRecord::Base
|
|
19
21
|
|
20
22
|
private
|
21
23
|
def create_records
|
22
|
-
File.new(
|
24
|
+
File.new(file.current_path).each {|line|
|
23
25
|
self.esr_records << EsrRecord.new.parse(line) unless line[0..2] == '999'
|
24
26
|
}
|
25
27
|
end
|
data/app/models/esr_record.rb
CHANGED
@@ -4,10 +4,10 @@ class EsrRecord < ActiveRecord::Base
|
|
4
4
|
belongs_to :booking, :dependent => :destroy
|
5
5
|
belongs_to :invoice
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
scope :valid, where(:state => 'valid')
|
8
|
+
scope :missing, where(:state => 'missing')
|
9
|
+
scope :bad, where(:state => 'bad')
|
10
|
+
scope :invalid, where(:state => 'valid')
|
11
11
|
|
12
12
|
private
|
13
13
|
def parse_date(value)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
class EsrFileUploader < CarrierWave::Uploader::Base
|
4
|
+
# Choose what kind of storage to use for this uploader:
|
5
|
+
storage :file
|
6
|
+
|
7
|
+
# Override the directory where uploaded files will be stored.
|
8
|
+
# This is a sensible default for uploaders that are meant to be mounted:
|
9
|
+
def store_dir
|
10
|
+
"system/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
11
|
+
end
|
12
|
+
end
|
@@ -1,8 +1,13 @@
|
|
1
1
|
<div class="contextual">
|
2
|
-
<%= link_to "VESR Liste",
|
2
|
+
<%= link_to "VESR Liste", esr_files_path, :class => "icon icon-book" %>
|
3
3
|
</div>
|
4
4
|
<h2>VESR Datei einlesen</h2>
|
5
|
-
<%
|
6
|
-
|
7
|
-
|
5
|
+
<% semantic_form_for :esr_file do |esr_file| %>
|
6
|
+
<%= esr_file.inputs do %>
|
7
|
+
<%= esr_file.input :file %>
|
8
|
+
<%= esr_file.input :file_cache, :as => :hidden %>
|
9
|
+
<%- end %>
|
10
|
+
<%= esr_file.buttons do %>
|
11
|
+
<%= esr_file.commit_button %>
|
12
|
+
<%- end %>
|
8
13
|
<% end %>
|
data/config/routes.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
class PortToCarrierwave < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
rename_column :esr_files, :filename, :file
|
4
|
+
remove_column :esr_files, :content_type
|
5
|
+
remove_column :esr_files, :size
|
6
|
+
end
|
7
|
+
|
8
|
+
def down
|
9
|
+
add_column :esr_files, :size, :integer
|
10
|
+
add_column :esr_files, :content_type, :string
|
11
|
+
rename_column :esr_files, :file, :filename
|
12
|
+
end
|
13
|
+
end
|
data/lib/vesr/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vesr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 0.
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Roman Simecek
|
@@ -32,9 +32,10 @@ extra_rdoc_files:
|
|
32
32
|
- README.rdoc
|
33
33
|
- LICENSE.txt
|
34
34
|
files:
|
35
|
-
- app/controllers/
|
35
|
+
- app/controllers/esr_files_controller.rb
|
36
36
|
- app/models/esr_file.rb
|
37
37
|
- app/models/esr_record.rb
|
38
|
+
- app/uploaders/esr_file_uploader.rb
|
38
39
|
- app/views/esr_bookings/_form.html.erb
|
39
40
|
- app/views/esr_bookings/_item.html.erb
|
40
41
|
- app/views/esr_bookings/_list_footer.html.erb
|
@@ -44,7 +45,9 @@ files:
|
|
44
45
|
- app/views/esr_bookings/_sidebar.html.erb
|
45
46
|
- app/views/esr_bookings/list.html.erb
|
46
47
|
- app/views/esr_bookings/show.html.erb
|
48
|
+
- config/routes.rb
|
47
49
|
- db/migrate/1_create_vesr_tables.rb
|
50
|
+
- db/migrate/2_port_to_carrierwave.rb
|
48
51
|
- lib/vesr.rb
|
49
52
|
- lib/vesr/prawn.rb
|
50
53
|
- lib/vesr/prawn/esr_recipe.rb
|
@@ -1,62 +0,0 @@
|
|
1
|
-
require 'action_controller/test_process.rb'
|
2
|
-
|
3
|
-
class EsrBookingsController < ApplicationController
|
4
|
-
# GET /esr_bookings
|
5
|
-
def index
|
6
|
-
@esr_files = EsrFile.paginate(:page => params['page'], :per_page => 20, :order => 'updated_at DESC')
|
7
|
-
|
8
|
-
respond_to do |format|
|
9
|
-
format.html {
|
10
|
-
render :action => 'list'
|
11
|
-
}
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
# GET /esr_bookings/new
|
16
|
-
def new
|
17
|
-
@esr_file = EsrFile.new
|
18
|
-
|
19
|
-
respond_to do |format|
|
20
|
-
format.html {
|
21
|
-
render :partial => 'form', :layout => 'application'
|
22
|
-
}
|
23
|
-
format.js { }
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# POST /esr_bookings
|
28
|
-
def create
|
29
|
-
# if :filename param is set, file exists
|
30
|
-
if params[:filename]
|
31
|
-
vesr_path = params[:filename]
|
32
|
-
|
33
|
-
@esr_file = EsrFile.new(:uploaded_data => ActionController::TestUploadedFile.new(vesr_path))
|
34
|
-
else
|
35
|
-
@esr_file = EsrFile.new(params[:esr_file])
|
36
|
-
end
|
37
|
-
|
38
|
-
if @esr_file.save
|
39
|
-
# Delete file if saved as attachment
|
40
|
-
File.delete(vesr_path) if vesr_path
|
41
|
-
end
|
42
|
-
|
43
|
-
respond_to do |format|
|
44
|
-
format.html {
|
45
|
-
redirect_to :action => 'show', :id => @esr_file
|
46
|
-
}
|
47
|
-
format.js { }
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
# GET /esr_bookings/1
|
52
|
-
def show
|
53
|
-
@esr_file = EsrFile.find(params[:id])
|
54
|
-
|
55
|
-
respond_to do |format|
|
56
|
-
format.html {
|
57
|
-
render :action => 'show'
|
58
|
-
}
|
59
|
-
format.js { }
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|