simple_view 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|