simple_view 0.0.1
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/Rakefile +2 -0
- data/lib/CVS/Entries +3 -0
- data/lib/CVS/Repository +1 -0
- data/lib/CVS/Root +1 -0
- data/lib/core-ext/CVS/Entries +5 -0
- data/lib/core-ext/CVS/Repository +1 -0
- data/lib/core-ext/CVS/Root +1 -0
- data/lib/core-ext/array.rb +14 -0
- data/lib/core-ext/jopen.rb +43 -0
- data/lib/core-ext/nilclass.rb +31 -0
- data/lib/core-ext/string.rb +51 -0
- data/lib/simple_view/CVS/Entries +11 -0
- data/lib/simple_view/CVS/Repository +1 -0
- data/lib/simple_view/CVS/RevisionCache/builder_view.rb#1.1.1.1 +42 -0
- data/lib/simple_view/CVS/RevisionCache/erb_view.rb#1.1.1.1 +44 -0
- data/lib/simple_view/CVS/RevisionCache/file_content.rb#1.1.1.1 +50 -0
- data/lib/simple_view/CVS/RevisionCache/io_view.rb#1.1.1.1 +37 -0
- data/lib/simple_view/CVS/RevisionCache/poi_view.rb#1.1.1.1 +116 -0
- data/lib/simple_view/CVS/RevisionCache/renderable.rb#1.1.1.1 +114 -0
- data/lib/simple_view/CVS/RevisionCache/simple_view.rb#1.1.1.1 +214 -0
- data/lib/simple_view/CVS/Root +1 -0
- data/lib/simple_view/builder_view.rb +42 -0
- data/lib/simple_view/erb_view.rb +44 -0
- data/lib/simple_view/file_content.rb +50 -0
- data/lib/simple_view/haml_view.rb +36 -0
- data/lib/simple_view/io_view.rb +37 -0
- data/lib/simple_view/java/CVS/Entries +1 -0
- data/lib/simple_view/java/CVS/Repository +1 -0
- data/lib/simple_view/java/CVS/Root +1 -0
- data/lib/simple_view/java/poi/CVS/Entries +6 -0
- data/lib/simple_view/java/poi/CVS/Repository +1 -0
- data/lib/simple_view/java/poi/CVS/Root +1 -0
- data/lib/simple_view/java/poi/poi-3.6-20091214.jar +0 -0
- data/lib/simple_view/java/poi/poi-contrib-3.6-20091214.jar +0 -0
- data/lib/simple_view/java/poi/poi-ooxml-3.6-20091214.jar +0 -0
- data/lib/simple_view/java/poi/poi-ooxml-schemas-3.6-20091214.jar +0 -0
- data/lib/simple_view/java/poi/poi-scratchpad-3.6-20091214.jar +0 -0
- data/lib/simple_view/poi_view.rb +116 -0
- data/lib/simple_view/renderable.rb +114 -0
- data/lib/simple_view/simple_view.rb +214 -0
- data/lib/simple_view/smartxls.rb +38 -0
- data/lib/simple_view/version.rb +3 -0
- data/lib/simple_view.rb +5 -0
- data/test/CVS/Entries +6 -0
- data/test/CVS/Repository +1 -0
- data/test/CVS/RevisionCache/test_view.rb#1.1.1.1 +25 -0
- data/test/CVS/RevisionCache/test_view_reuse_erb.rb#1.1.1.1 +21 -0
- data/test/CVS/Root +1 -0
- data/test/helpers/CVS/Entries +3 -0
- data/test/helpers/CVS/Repository +1 -0
- data/test/helpers/CVS/RevisionCache/test_helper.rb#1.1.1.1 +7 -0
- data/test/helpers/CVS/Root +1 -0
- data/test/helpers/etat_corbeilles_prc_helper.rb +13 -0
- data/test/helpers/test_helper.rb +7 -0
- data/test/jtest_view.rb +17 -0
- data/test/test_view.rb +25 -0
- data/test/test_view_reuse_erb.rb +21 -0
- data/test/test_view_sv_debug.rb +16 -0
- data/test/views/CVS/Entries +17 -0
- data/test/views/CVS/Repository +1 -0
- data/test/views/CVS/RevisionCache/test.erb#1.1.1.1 +2 -0
- data/test/views/CVS/Root +1 -0
- data/test/views/etat_corbeilles_prc-csv.io.rb +40 -0
- data/test/views/etat_corbeilles_prc-xls.poi.rb +97 -0
- data/test/views/etat_corbeilles_prc-xls2.smartxl.rb +128 -0
- data/test/views/etat_corbeilles_prc.html.erb +108 -0
- data/test/views/test-builder.builder.rb +1 -0
- data/test/views/test-erb.erb +1 -0
- data/test/views/test-model.xls +0 -0
- data/test/views/test-model.xlsx +0 -0
- data/test/views/test-xls.poi.rb +34 -0
- data/test/views/test-xls.smartxl.rb +80 -0
- data/test/views/test.builder.rb +1 -0
- data/test/views/test.erb +2 -0
- data/test/views/test.haml +1 -0
- data/test/views/test.io.rb +1 -0
- data/test/views/test.poi.rb +7 -0
- data/test/views/test_error.erb +1 -0
- metadata +177 -0
@@ -0,0 +1,214 @@
|
|
1
|
+
require 'monitor'
|
2
|
+
require 'delegate'
|
3
|
+
require 'core-ext/string'
|
4
|
+
require 'core-ext/nilclass'
|
5
|
+
|
6
|
+
|
7
|
+
module SimpleView
|
8
|
+
|
9
|
+
autoload :FileContent, File.join(File.dirname(__FILE__), 'file_content')
|
10
|
+
autoload :Renderable, File.join(File.dirname(__FILE__), 'renderable')
|
11
|
+
|
12
|
+
autoload :SimpleViewERB, File.join(File.dirname(__FILE__), 'erb_view')
|
13
|
+
autoload :SimpleViewIO, File.join(File.dirname(__FILE__), 'io_view')
|
14
|
+
autoload :SimpleViewBuilder, File.join(File.dirname(__FILE__), 'builder_view')
|
15
|
+
autoload :SimpleViewPOI, File.join(File.dirname(__FILE__), 'poi_view')
|
16
|
+
|
17
|
+
$SV_DEBUG = ENV['SV_DEBUG']
|
18
|
+
|
19
|
+
class Base
|
20
|
+
|
21
|
+
|
22
|
+
class << self
|
23
|
+
attr_accessor :directory_views, :directory_helpers
|
24
|
+
end
|
25
|
+
|
26
|
+
def directory_views
|
27
|
+
Base.directory_views
|
28
|
+
end
|
29
|
+
|
30
|
+
def directory_helpers
|
31
|
+
Base.directory_helpers
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
class TemplateViewNotFound < Exception; end
|
37
|
+
|
38
|
+
class SimpleViewBase < Base
|
39
|
+
|
40
|
+
attr_accessor :template, :file_template
|
41
|
+
|
42
|
+
def initialize(template, file_template = nil)
|
43
|
+
self.template = template
|
44
|
+
self.file_template = file_template
|
45
|
+
end
|
46
|
+
|
47
|
+
def template_name(ext = self.template_extension)
|
48
|
+
"#{template}#{ext}"
|
49
|
+
end
|
50
|
+
|
51
|
+
def lookup_file_template(ext = self.template_extension)
|
52
|
+
unless @file_template
|
53
|
+
tpl = self.template_name(ext)
|
54
|
+
list = Dir.glob(File.join(self.directory_views, tpl))
|
55
|
+
raise TemplateViewNotFound.new("Impossible de trouver le template #{tpl} dans le repertoire #{self.directory_views}") unless list.size == 1
|
56
|
+
@file_template = list.first
|
57
|
+
end
|
58
|
+
@file_template
|
59
|
+
end
|
60
|
+
|
61
|
+
def clean_template_name_for_helper
|
62
|
+
template[/(\w+)(\W*)/,1]
|
63
|
+
end
|
64
|
+
|
65
|
+
def lookup_file_helper
|
66
|
+
if !self.instance_variable_defined?(:@file_helper) && self.directory_helpers
|
67
|
+
helper_file_name = "#{self.clean_template_name_for_helper}_helper.rb"
|
68
|
+
puts "SimpleViewBase > helper_file_name= #{helper_file_name}" if $DEBUG
|
69
|
+
fhlpr = File.join(self.directory_helpers, helper_file_name)
|
70
|
+
puts "SimpleViewBase > fhlpr= #{fhlpr}" if $DEBUG
|
71
|
+
if File.exist?(fhlpr)
|
72
|
+
@file_helper = FileContent.file(fhlpr)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
@file_helper
|
76
|
+
end
|
77
|
+
|
78
|
+
def template_content
|
79
|
+
FileContent.file(self.lookup_file_template).content
|
80
|
+
end
|
81
|
+
|
82
|
+
def has_helper?
|
83
|
+
hf = self.lookup_file_helper
|
84
|
+
return nil unless hf
|
85
|
+
true
|
86
|
+
end
|
87
|
+
|
88
|
+
def helper_module_name
|
89
|
+
hname = self.clean_template_name_for_helper # exemple: template = 'etat_corbeilles_prc.html' => hname = 'etat_corbeilles_prc'
|
90
|
+
"#{hname}_helper".camelcase(true).to_sym
|
91
|
+
end
|
92
|
+
|
93
|
+
def template_extension
|
94
|
+
if self.class.respond_to?(:extension)
|
95
|
+
return self.class.extension
|
96
|
+
end
|
97
|
+
".rb"
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
def set_helper(rendable_object)
|
102
|
+
if has_helper?
|
103
|
+
helper = nil
|
104
|
+
helper_name = self.helper_module_name
|
105
|
+
begin
|
106
|
+
if @file_helper.changed? || !Object::const_defined?(helper_name)
|
107
|
+
load @file_helper.file(true)
|
108
|
+
else
|
109
|
+
|
110
|
+
end
|
111
|
+
helper = Object::const_get(helper_name)
|
112
|
+
rescue NameError => ex
|
113
|
+
# puts "set_helper: #{ex.message}", ex.backtrace
|
114
|
+
require(@file_helper.file)
|
115
|
+
retry
|
116
|
+
end
|
117
|
+
puts "set_helper #{helper} for: #{rendable_object}" if $DEBUG
|
118
|
+
rendable_object.extend helper
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
|
123
|
+
def render(rendable_object, options = {})
|
124
|
+
target = options[:target]
|
125
|
+
if String === target && (options[:type] != :string)
|
126
|
+
FileUtils.mkdir_p(File.dirname(target)) if options[:mkdirs]
|
127
|
+
open(target, options[:open]||'w') do |o|
|
128
|
+
options[:target] = o
|
129
|
+
begin
|
130
|
+
return do_rendering(rendable_object, options)
|
131
|
+
ensure
|
132
|
+
options[:target] = target
|
133
|
+
end
|
134
|
+
end
|
135
|
+
else
|
136
|
+
return do_rendering(rendable_object, options)
|
137
|
+
end
|
138
|
+
rescue => ex
|
139
|
+
puts ex.message, ex.backtrace.collect{|st| "\t#{st}"}
|
140
|
+
if $SV_DEBUG
|
141
|
+
puts "[SV_DEBUG = #$SV_DEBUG]: Retry ? [y|n]"
|
142
|
+
response = $stdin.gets.strip
|
143
|
+
retry if response =~ /Y|y/
|
144
|
+
end
|
145
|
+
raise ex
|
146
|
+
end
|
147
|
+
|
148
|
+
def render_with_helper(rendable_object)
|
149
|
+
set_helper(rendable_object)
|
150
|
+
yield if block_given?
|
151
|
+
end
|
152
|
+
|
153
|
+
|
154
|
+
class << self
|
155
|
+
|
156
|
+
def template_extensions
|
157
|
+
@template_extensions ||= {}
|
158
|
+
end
|
159
|
+
|
160
|
+
def register(subclass)
|
161
|
+
ext = subclass.extension
|
162
|
+
SimpleViewBase.template_extensions[ext] = subclass
|
163
|
+
end
|
164
|
+
|
165
|
+
def lookup_file_template(template)
|
166
|
+
tpl = "#{template}#{self.extension}"
|
167
|
+
file = File.join(Base.directory_views, tpl)
|
168
|
+
puts "lookup_file_template : #{tpl} => #{file}" if $DEBUG
|
169
|
+
raise TemplateViewNotFound.new("Impossible de trouver le template #{tpl} dans le repertoire #{Base.directory_views} (#{file})") unless File.exist?(file)
|
170
|
+
file
|
171
|
+
end
|
172
|
+
|
173
|
+
def views
|
174
|
+
@views ||= {}
|
175
|
+
end
|
176
|
+
|
177
|
+
def view(template)
|
178
|
+
self.views[template] ||= self.basic_view(template)
|
179
|
+
end
|
180
|
+
|
181
|
+
def find_view(template)
|
182
|
+
SimpleViewBase.template_extensions.each do |ext, renderer|
|
183
|
+
begin
|
184
|
+
return renderer.view(template)
|
185
|
+
rescue TemplateViewNotFound
|
186
|
+
end
|
187
|
+
end
|
188
|
+
raise TemplateViewNotFound.new("Impossible de trouver le template #{template} dans le repertoire #{Base.directory_views}")
|
189
|
+
end
|
190
|
+
|
191
|
+
protected
|
192
|
+
def basic_view(template)
|
193
|
+
file = lookup_file_template(template)
|
194
|
+
self.new(template, file)
|
195
|
+
end
|
196
|
+
|
197
|
+
end
|
198
|
+
|
199
|
+
end
|
200
|
+
|
201
|
+
|
202
|
+
class SimpleLayout < SimpleViewBase
|
203
|
+
|
204
|
+
def do_rendering(rendable_object, options)
|
205
|
+
|
206
|
+
end
|
207
|
+
|
208
|
+
end
|
209
|
+
|
210
|
+
# Loading default
|
211
|
+
SimpleViewERB.name
|
212
|
+
SimpleViewIO.name
|
213
|
+
|
214
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module SimpleView
|
2
|
+
|
3
|
+
class SimpleViewSmartXLS < SimpleViewBase
|
4
|
+
require 'java'
|
5
|
+
|
6
|
+
import com.smartxls.ChartFormat;
|
7
|
+
import com.smartxls.ChartShape;
|
8
|
+
import com.smartxls.WorkBook;
|
9
|
+
import java.awt.Color;
|
10
|
+
|
11
|
+
EXTENTION = ".smartxl.rb".freeze unless defined?(EXTENTION)
|
12
|
+
|
13
|
+
def self.extension
|
14
|
+
EXTENTION
|
15
|
+
end
|
16
|
+
|
17
|
+
SimpleViewBase.register(self)
|
18
|
+
|
19
|
+
def render(rendable_object, options = {})
|
20
|
+
do_rendering(rendable_object, options)
|
21
|
+
end
|
22
|
+
|
23
|
+
def do_rendering(rendable_object, options)
|
24
|
+
filename = options.delete(:filename) || '<XLS>'
|
25
|
+
line = options.delete(:line) || 1
|
26
|
+
xls = WorkBook.new
|
27
|
+
rendable_object.put_locals_objects((options.delete(:builder_name) || :xls).to_sym => xls)
|
28
|
+
render_with_helper(rendable_object) do
|
29
|
+
eval self.template_content, rendable_object.get_binding, filename, line
|
30
|
+
end
|
31
|
+
if options.key?(:target)
|
32
|
+
xls.write(options[:target])
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
data/lib/simple_view.rb
ADDED
data/test/CVS/Entries
ADDED
data/test/CVS/Repository
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
simple_view/test
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
|
3
|
+
require 'simple_view'
|
4
|
+
require 'simple_view/builder_view'
|
5
|
+
|
6
|
+
include SimpleView
|
7
|
+
include SimpleView::Renderable
|
8
|
+
|
9
|
+
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
10
|
+
Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
|
11
|
+
|
12
|
+
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
13
|
+
puts "ERB"
|
14
|
+
render_erb 'test', :locals => {:who => 'You'}, :target => $stdout
|
15
|
+
puts "\nBUILDER"
|
16
|
+
render_builder 'test', :locals => {:who => 'You'}, :target => $stdout
|
17
|
+
puts "\nIO"
|
18
|
+
render_io 'test', :locals => {:who => 'You'}, :target => $stdout
|
19
|
+
|
20
|
+
puts "\nHAML"
|
21
|
+
require 'simple_view/haml_view'
|
22
|
+
render_haml 'test', :locals => {:who => 'You'}, :target => $stdout
|
23
|
+
|
24
|
+
require 'simple_view/poi_view'
|
25
|
+
render_poi 'test', :model => "#{Base.directory_views}/test-model.xlsx", :target => 'c:/aag/test.xlsx'
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
|
4
|
+
require 'simple_view'
|
5
|
+
require 'simple_view/builder_view'
|
6
|
+
|
7
|
+
include SimpleView
|
8
|
+
include SimpleView::Renderable
|
9
|
+
|
10
|
+
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
11
|
+
Base.directory_helpers = File.join(File.dirname(__FILE__), 'helpers')
|
12
|
+
|
13
|
+
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
14
|
+
puts "BUILDER", render_builder('test', :locals => {:who => 'tata'})
|
15
|
+
render_builder('test', :locals => {:who => 'tata'})
|
16
|
+
|
17
|
+
puts "ERB 0", render('test', :locals => {:who => 'tata'})
|
18
|
+
|
19
|
+
puts "ERB 1", render_erb('test', :locals => {:who => 'toto'})
|
20
|
+
|
21
|
+
puts "ERB 2", render_erb('test', :locals => {:who => 'titi'})
|
data/test/CVS/Root
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
@@ -0,0 +1 @@
|
|
1
|
+
simple_view/test/helpers
|
@@ -0,0 +1 @@
|
|
1
|
+
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module EtatCorbeillesPrcHelper
|
2
|
+
|
3
|
+
def sort_utilisateurs(resumes_utilisateurs)
|
4
|
+
resumes_utilisateurs.to_a.sort{|a, b| [a.site, a.signature] <=> [b.site, b.signature] }
|
5
|
+
end
|
6
|
+
|
7
|
+
def lisse_poids(poids)
|
8
|
+
return "Infini" if poids.infinite?
|
9
|
+
return 0 if poids.nan?
|
10
|
+
poids
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
data/test/jtest_view.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'simple_view'
|
2
|
+
|
3
|
+
include SimpleView
|
4
|
+
include SimpleView::Renderable
|
5
|
+
|
6
|
+
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
7
|
+
Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
|
8
|
+
|
9
|
+
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
10
|
+
puts "ERB"
|
11
|
+
render_erb 'test', :locals => {:who => 'You'}, :target => $stdout
|
12
|
+
puts "\nIO"
|
13
|
+
render_io 'test', :locals => {:who => 'You'}, :target => $stdout
|
14
|
+
|
15
|
+
require 'simple_view/poi_view'
|
16
|
+
render_poi 'test', :target => 'c:/aag/test.xls'
|
17
|
+
# render_poi 'test', :model => "#{Base.directory_views}/test-model.xls", :target => 'c:/aag/test.xls'
|
data/test/test_view.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
|
3
|
+
require 'simple_view'
|
4
|
+
require 'simple_view/builder_view'
|
5
|
+
|
6
|
+
include SimpleView
|
7
|
+
include SimpleView::Renderable
|
8
|
+
|
9
|
+
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
10
|
+
Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
|
11
|
+
|
12
|
+
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
13
|
+
puts "ERB"
|
14
|
+
render_erb 'test', :locals => {:who => 'You'}, :target => $stdout
|
15
|
+
puts "\nBUILDER"
|
16
|
+
render_builder 'test', :locals => {:who => 'You'}, :target => $stdout
|
17
|
+
puts "\nIO"
|
18
|
+
render_io 'test', :locals => {:who => 'You'}, :target => $stdout
|
19
|
+
|
20
|
+
puts "\nHAML"
|
21
|
+
require 'simple_view/haml_view'
|
22
|
+
render_haml 'test', :locals => {:who => 'You'}, :target => $stdout
|
23
|
+
|
24
|
+
require 'simple_view/poi_view'
|
25
|
+
render_poi 'test', :model => "#{Base.directory_views}/test-model.xlsx", :target => 'c:/aag/test.xlsx'
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
|
4
|
+
require 'simple_view'
|
5
|
+
require 'simple_view/builder_view'
|
6
|
+
|
7
|
+
include SimpleView
|
8
|
+
include SimpleView::Renderable
|
9
|
+
|
10
|
+
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
11
|
+
Base.directory_helpers = File.join(File.dirname(__FILE__), 'helpers')
|
12
|
+
|
13
|
+
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
14
|
+
puts "BUILDER", render_builder('test', :locals => {:who => 'tata'})
|
15
|
+
render_builder('test', :locals => {:who => 'tata'})
|
16
|
+
|
17
|
+
puts "ERB 0", render('test', :locals => {:who => 'tata'})
|
18
|
+
|
19
|
+
puts "ERB 1", render_erb('test', :locals => {:who => 'toto'})
|
20
|
+
|
21
|
+
puts "ERB 2", render_erb('test', :locals => {:who => 'titi'})
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
|
3
|
+
require 'simple_view'
|
4
|
+
require 'simple_view/builder_view'
|
5
|
+
|
6
|
+
include SimpleView
|
7
|
+
include SimpleView::Renderable
|
8
|
+
|
9
|
+
ENV['SV_DEBUG'] = 'true'
|
10
|
+
|
11
|
+
Base.directory_views = File.join(File.dirname(__FILE__), 'views')
|
12
|
+
Base.directory_helpers = File.join(File.dirname(__FILE__), 'views')
|
13
|
+
|
14
|
+
# render 'test-erb', :locals => {:who => 'You'}, :target => $stdout
|
15
|
+
puts "ERB"
|
16
|
+
render_erb 'test_error', :locals => {:who => 'You'}, :target => $stdout
|
@@ -0,0 +1,17 @@
|
|
1
|
+
D
|
2
|
+
/etat_corbeilles_prc-csv.io.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
|
3
|
+
/etat_corbeilles_prc-xls.poi.rb/1.1.1.1/Tue Dec 07 12:02:42 2010//
|
4
|
+
/etat_corbeilles_prc-xls2.smartxl.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
5
|
+
/etat_corbeilles_prc.html.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
6
|
+
/test-builder.builder.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
7
|
+
/test-erb.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
8
|
+
/test-model.xls/1.1.1.1/Tue Dec 07 12:02:43 2010/-kb/
|
9
|
+
/test-model.xlsx/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
10
|
+
/test-xls.poi.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
11
|
+
/test-xls.smartxl.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
12
|
+
/test.builder.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
13
|
+
/test.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
14
|
+
/test.haml/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
15
|
+
/test.io.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
16
|
+
/test.poi.rb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
17
|
+
/test_error.erb/1.1.1.1/Tue Dec 07 12:02:43 2010//
|
@@ -0,0 +1 @@
|
|
1
|
+
simple_view/test/views
|
data/test/views/CVS/Root
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
:pserver:gie\barukh@esvwas51.si.fr:/repositories/aag
|
@@ -0,0 +1,40 @@
|
|
1
|
+
io << "Site\tSignature\tNom\tPr�nom\tProfil\tStructure\tCellule\tActif\tTaux activit�\tNombre dossiers\tPoids dossiers (100%)\t#{JDataStorePRC::COD_NIV_DOS.join("\t")}\t#{JDataStorePRC::EVENS_SIGN.join("\t")}\r\n"
|
2
|
+
|
3
|
+
# Les utilisateurs et leurs dossiers
|
4
|
+
resumes_utilisateurs.each do |utl|
|
5
|
+
if utl.a_dossiers?
|
6
|
+
io << "#{utl.site}\t#{utl.signature}\t#{utl.nom}\t#{utl.prenom}\t#{utl.profil}\t"
|
7
|
+
io << "#{utl.structure}\t#{utl.cellule}\t#{utl.actif}\t#{utl.tx_activite}\t"
|
8
|
+
io << "#{utl.nombre_dossiers}\t"
|
9
|
+
io << "#{utl.poids_dossiers}\t"
|
10
|
+
|
11
|
+
JDataStorePRC::COD_NIV_DOS.each do |co_niv|
|
12
|
+
dossier = utl.nombreDossiersPRC.find{|dossier| dossier.COD_NIV_DOS == co_niv}
|
13
|
+
io << "#{dossier ? dossier.NB_DOSSIERS : 0}\t"
|
14
|
+
end
|
15
|
+
|
16
|
+
JDataStorePRC::EVENS_SIGN.each do |co_evt|
|
17
|
+
dossier = utl.nombreDernierEvenDossiersPRC.find{|dossier| dossier.COD_EVEN == co_evt}
|
18
|
+
io << "#{dossier ? dossier.NB_DOSSIERS : 0}\t"
|
19
|
+
end
|
20
|
+
|
21
|
+
io << "\r\n"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# Dossiers possesseur inconnu
|
26
|
+
dossiers_possesseur_inconnu.each do |dossier|
|
27
|
+
io << "INCONNU\t#{dossier.COD_ID_INS}\tINCONNU\tINCONNU\tINCONNU\t"
|
28
|
+
io << "INCONNU\tINCONNU\tINCONNU\tINCONNU\t"
|
29
|
+
io << "#{dossier.NB_DOSSIERS}\t?"
|
30
|
+
|
31
|
+
JDataStorePRC::COD_NIV_DOS.each do |co_niv|
|
32
|
+
io << "#{dossier.COD_NIV_DOS == co_niv ? dossier.NB_DOSSIERS : 0}\t"
|
33
|
+
end
|
34
|
+
|
35
|
+
JDataStorePRC::EVENS_SIGN.each do |co_evt|
|
36
|
+
io << "?\t"
|
37
|
+
end
|
38
|
+
|
39
|
+
io << "\r\n"
|
40
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
sheet = xls.get_sheet 'data'
|
2
|
+
|
3
|
+
##
|
4
|
+
## HEADER
|
5
|
+
##
|
6
|
+
header = row_at(sheet, 0)
|
7
|
+
['Site', 'Signature', 'Nom', 'Pr�nom', 'Profil', 'Structure', 'Cellule', 'Actif', 'Taux activit�', 'Nombre dossiers', 'Poids dossiers (100%)'].each_with_index do |title, index|
|
8
|
+
cell = cell_at(header, index)
|
9
|
+
cell.set_cell_value title
|
10
|
+
end
|
11
|
+
col=11
|
12
|
+
# Code niveau dossier
|
13
|
+
JDataStorePRC::COD_NIV_DOS.each do |co_niv|
|
14
|
+
cell = cell_at(header, col)
|
15
|
+
cell.set_cell_value "NB dossiers #{co_niv}"
|
16
|
+
col += 1
|
17
|
+
end
|
18
|
+
|
19
|
+
# Code niveau dossier
|
20
|
+
JDataStorePRC::EVENS_SIGN.each do |co_evt|
|
21
|
+
cell = cell_at(header, col)
|
22
|
+
cell.set_cell_value "NB dossiers #{co_evt}"
|
23
|
+
col += 1
|
24
|
+
end
|
25
|
+
|
26
|
+
##
|
27
|
+
## BODY
|
28
|
+
##
|
29
|
+
|
30
|
+
ligne = 1
|
31
|
+
# ResumeUtilisateur
|
32
|
+
resumes_utilisateurs.each do |utl|
|
33
|
+
next unless utl.a_dossiers?
|
34
|
+
row = sheet.create_row(ligne)
|
35
|
+
col = 0
|
36
|
+
set_cell_value row, col, utl.site; col +=1
|
37
|
+
|
38
|
+
set_cell_value row, col, utl.signature; col +=1
|
39
|
+
|
40
|
+
set_cell_value row, col, utl.nom; col +=1
|
41
|
+
set_cell_value row, col, utl.prenom; col +=1
|
42
|
+
set_cell_value row, col, utl.profil; col +=1
|
43
|
+
set_cell_value row, col, utl.structure; col +=1
|
44
|
+
set_cell_value row, col, utl.cellule; col +=1
|
45
|
+
set_cell_value row, col, utl.actif; col +=1
|
46
|
+
set_cell_value row, col, utl.tx_activite; col +=1
|
47
|
+
set_cell_value row, col, utl.nombre_dossiers; col +=1
|
48
|
+
set_cell_value row, col, lisse_poids(utl.poids_dossiers) ; col +=1
|
49
|
+
|
50
|
+
JDataStorePRC::COD_NIV_DOS.each do |co_niv|
|
51
|
+
dossier = utl.nombreDossiersPRC.find{|dossier| dossier.COD_NIV_DOS == co_niv}
|
52
|
+
set_cell_value row, col, (dossier ? dossier.NB_DOSSIERS : 0); col +=1
|
53
|
+
end
|
54
|
+
|
55
|
+
JDataStorePRC::EVENS_SIGN.each do |co_evt|
|
56
|
+
dossier = utl.nombreDernierEvenDossiersPRC.find{|dossier| dossier.COD_EVEN == co_evt}
|
57
|
+
set_cell_value row, col, (dossier ? dossier.NB_DOSSIERS : 0); col +=1
|
58
|
+
end
|
59
|
+
|
60
|
+
ligne += 1
|
61
|
+
end
|
62
|
+
|
63
|
+
|
64
|
+
# Dossier possesseur inconnu
|
65
|
+
dossiers_possesseur_inconnu.each do |dossier|
|
66
|
+
col = 0
|
67
|
+
row = sheet.create_row(ligne)
|
68
|
+
|
69
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
70
|
+
|
71
|
+
set_cell_value row, col, dossier.COD_ID_INS; col +=1
|
72
|
+
|
73
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
74
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
75
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
76
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
77
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
78
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
79
|
+
set_cell_value row, col, 'INCONNU'; col +=1
|
80
|
+
set_cell_value row, col, dossier.NB_DOSSIERS; col +=1
|
81
|
+
set_cell_value row, col, 0; col +=1
|
82
|
+
|
83
|
+
|
84
|
+
JDataStorePRC::COD_NIV_DOS.each do |co_niv|
|
85
|
+
if dossier.COD_NIV_DOS == co_niv
|
86
|
+
set_cell_value row, col, dossier.NB_DOSSIERS; col +=1
|
87
|
+
else
|
88
|
+
set_cell_value row, col, 0; col +=1
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
JDataStorePRC::EVENS_SIGN.each do |co_evt|
|
93
|
+
set_cell_value row, col, '?'; col +=1
|
94
|
+
end
|
95
|
+
|
96
|
+
ligne +=1
|
97
|
+
end
|