rbbt-rest 1.8.145 → 1.8.148
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/rest/common/cache.rb +32 -12
- data/lib/rbbt/rest/common/misc.rb +9 -4
- data/lib/rbbt/rest/common/render.rb +5 -5
- data/lib/rbbt/rest/common/table.rb +1 -1
- data/lib/rbbt/rest/common/users.rb +1 -1
- data/lib/rbbt/rest/helpers.rb +26 -0
- data/lib/rbbt/rest/main.rb +8 -2
- data/lib/rbbt/rest/workflow/stream_task.rb +3 -3
- data/lib/rbbt/rest/workflow.rb +1 -1
- data/share/views/compass/misc.sass +12 -0
- data/share/views/entity_partials/action_card.haml +1 -1
- data/share/views/entity_partials/entity_card.haml +1 -0
- data/share/views/entity_partials/entity_map_card.haml +5 -5
- data/share/views/error.haml +7 -7
- data/share/views/job_files.haml +1 -1
- data/share/views/job_info.haml +1 -1
- data/share/views/job_result/job_control.haml +4 -1
- data/share/views/partials/form.haml +2 -1
- data/share/views/public/js/helpers/_ajax_replace.js +7 -7
- data/share/views/public/js/rbbt.modal.js +7 -0
- data/share/views/tools/nvd3/chart.haml +1 -1
- data/share/views/wait.haml +8 -8
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19ee6736af5384622ccdc31ef25294aa15f0fab48099f83467820341d117013b
|
4
|
+
data.tar.gz: 3660821decc1a11a951c8edf818964ca1068ea263ddbb2ccb24c8dfb64c8f67d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5475680967fc708f51e93a16cd3694b1fb9f664330b8cc09364af52b49af993cc5cbf8bdb786f80d00f9840744d025a59150b157883f2c632a6a9aa3bcf08aae
|
7
|
+
data.tar.gz: 4e4e73608d2d57f8fbbdca228430cecd1f2dd393d124ea0bcf8686137bdd9e38ffb8dc3abe21ec94cb2f6f4925ce9a3b6f2e828d8d60929245377345d417e2f8
|
@@ -4,6 +4,17 @@ require 'rbbt/rest/common/table'
|
|
4
4
|
|
5
5
|
module RbbtRESTHelpers
|
6
6
|
|
7
|
+
def escape_url(url)
|
8
|
+
base, _sep, query = url.partition("?")
|
9
|
+
base = base.split("/").collect{|p| CGI.escape(p) }* "/"
|
10
|
+
if query && ! query.empty?
|
11
|
+
query = query.split("&").collect{|e| e.split("=").collect{|pe| CGI.escape(pe) } * "=" } * "&"
|
12
|
+
[base, query] * "?"
|
13
|
+
else
|
14
|
+
base
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
7
18
|
MEMORY_CACHE = {}
|
8
19
|
|
9
20
|
def old_cache(path, check)
|
@@ -38,7 +49,12 @@ module RbbtRESTHelpers
|
|
38
49
|
path = if params[:cache_file]
|
39
50
|
params[:cache_file]
|
40
51
|
else
|
41
|
-
|
52
|
+
if post_hash = params["__post_hash_id"]
|
53
|
+
name = name.gsub("/",'>') << "_" << post_hash
|
54
|
+
elsif params
|
55
|
+
param_hash = Misc.obj2digest(params)
|
56
|
+
name = name.gsub("/",'>') << "_" << param_hash
|
57
|
+
end
|
42
58
|
settings.cache_dir[name].find
|
43
59
|
end
|
44
60
|
|
@@ -56,6 +72,12 @@ module RbbtRESTHelpers
|
|
56
72
|
|
57
73
|
# Clean/update job
|
58
74
|
|
75
|
+
clean_url = request.url
|
76
|
+
clean_url = remove_GET_param(clean_url, :_update)
|
77
|
+
clean_url = remove_GET_param(clean_url, :_)
|
78
|
+
|
79
|
+
clean_url = add_GET_param(clean_url, "__post_hash_id", params["__post_hash_id"]) if params.include?("__post_hash_id") && @is_method_post
|
80
|
+
|
59
81
|
if not @fragment and (old_cache(step.path, check) or update == :reload)
|
60
82
|
begin
|
61
83
|
pid = step.info[:pid]
|
@@ -65,11 +87,10 @@ module RbbtRESTHelpers
|
|
65
87
|
Log.medium{$!.message}
|
66
88
|
end
|
67
89
|
step.clean
|
90
|
+
|
91
|
+
redirect remove_GET_param(clean_url, "__post_hash_id")
|
68
92
|
end
|
69
93
|
|
70
|
-
clean_url = request.url
|
71
|
-
clean_url = remove_GET_param(clean_url, :_update)
|
72
|
-
clean_url = remove_GET_param(clean_url, :_)
|
73
94
|
|
74
95
|
class << step
|
75
96
|
def url
|
@@ -78,6 +99,8 @@ module RbbtRESTHelpers
|
|
78
99
|
|
79
100
|
end
|
80
101
|
|
102
|
+
#step.instance_variable_set(:@url, clean_url)
|
103
|
+
#step.instance_variable_set(:@url_path, URI(clean_url).path)
|
81
104
|
step.instance_variable_set(:@url, clean_url)
|
82
105
|
step.instance_variable_set(:@url_path, URI(clean_url).path)
|
83
106
|
step.clean if step.error? || step.aborted?
|
@@ -95,6 +118,8 @@ module RbbtRESTHelpers
|
|
95
118
|
step.set_info :template_file, params[:_template_file].to_s
|
96
119
|
end
|
97
120
|
|
121
|
+
redirect clean_url if params.include?("__post_hash_id") && @is_method_post
|
122
|
+
|
98
123
|
# Return fragment
|
99
124
|
|
100
125
|
if @fragment
|
@@ -150,10 +175,9 @@ module RbbtRESTHelpers
|
|
150
175
|
list_id = "List of #{type} in table #{ @fragment }"
|
151
176
|
list_id << " (#{ @filter })" if @filter
|
152
177
|
Entity::List.save_list(type.to_s, list_id, list, user)
|
153
|
-
|
154
|
-
url = Entity::REST.entity_list_url(list_id, type)
|
178
|
+
url = Entity::REST.entity_list_url(list_id, type)
|
155
179
|
url = url + '?_layout=false' unless @layout
|
156
|
-
url =
|
180
|
+
url = escape_url(url)
|
157
181
|
redirect to(url)
|
158
182
|
when "map"
|
159
183
|
raw_tsv, tsv_options = load_tsv(fragment_file)
|
@@ -175,7 +199,7 @@ module RbbtRESTHelpers
|
|
175
199
|
Entity::Map.save_map(type.to_s, column, map_id, tsv, user)
|
176
200
|
url = Entity::REST.entity_map_url(map_id, type, column)
|
177
201
|
url = url + '?_layout=false' unless @layout
|
178
|
-
url =
|
202
|
+
url = escape_url(url)
|
179
203
|
redirect to(url)
|
180
204
|
when "excel"
|
181
205
|
require 'rbbt/tsv/excel'
|
@@ -274,10 +298,6 @@ data = NULL
|
|
274
298
|
end
|
275
299
|
end
|
276
300
|
|
277
|
-
if update == :reload
|
278
|
-
redirect to(clean_url)
|
279
|
-
end
|
280
|
-
|
281
301
|
# Monitor
|
282
302
|
|
283
303
|
begin
|
@@ -57,15 +57,20 @@ module RbbtRESTHelpers
|
|
57
57
|
|
58
58
|
def process_common_parameters
|
59
59
|
@ajax = request.xhr?
|
60
|
-
@ajax_url = headers["AJAX-URL"]
|
61
60
|
|
62
61
|
@uri = request.env["REQUEST_URI"]
|
62
|
+
@uri = remove_GET_param(@uri, ["_update", "_", "_layout"])
|
63
|
+
@request_method = request.env["REQUEST_METHOD"]
|
64
|
+
@is_method_post = @request_method.to_s.downcase == 'post'
|
65
|
+
|
66
|
+
@uri = post_uri if @is_method_post
|
67
|
+
|
63
68
|
@path = request.env["PATH_INFO"]
|
64
69
|
@query = request.env["QUERY_STRING"]
|
65
|
-
|
66
|
-
#@fullpath = request.fullpath
|
67
70
|
@fullpath = (@query && ! @query.empty?) ? @path + "?" + @query : @path
|
68
|
-
@fullpath = remove_GET_param(@fullpath, ["_update", "_"])
|
71
|
+
@fullpath = remove_GET_param(@fullpath, ["_update", "_", "_layout"])
|
72
|
+
|
73
|
+
@ajax_url = @uri
|
69
74
|
|
70
75
|
@layout = consume_parameter(:_layout)
|
71
76
|
|
@@ -42,15 +42,15 @@ module RbbtRESTHelpers
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def wait_on(job, layout = nil)
|
45
|
+
layout = @layout if layout.nil?
|
46
|
+
|
45
47
|
3.times do |rep|
|
46
48
|
raise RbbtRESTHelpers::Retry if job.done? or job.error?
|
47
49
|
sleep 1
|
48
|
-
end
|
50
|
+
end if layout
|
49
51
|
|
50
52
|
raise RbbtRESTHelpers::Retry if job.done? or job.error?
|
51
53
|
|
52
|
-
layout = @layout if layout.nil?
|
53
|
-
|
54
54
|
layout_file = (layout ? locate_template('layout') : nil)
|
55
55
|
template_file = locate_template('wait')
|
56
56
|
|
@@ -232,7 +232,7 @@ module RbbtRESTHelpers
|
|
232
232
|
filename = Misc.sanitize_filename(Misc.name2basename(filename))
|
233
233
|
|
234
234
|
if @step
|
235
|
-
url = add_GET_param(remove_GET_param(@
|
235
|
+
url = add_GET_param(remove_GET_param(@uri, ["_update", "_"]), "_fragment", "html_resources/#{ filename }")
|
236
236
|
f = @step.file(:html_resources)[filename].find
|
237
237
|
else
|
238
238
|
url = "/files/#{ filename }"
|
@@ -270,7 +270,7 @@ module RbbtRESTHelpers
|
|
270
270
|
filename = File.basename(TmpFile.tmp_file) if filename.nil?
|
271
271
|
|
272
272
|
if @step
|
273
|
-
url = add_GET_param(remove_GET_param(@
|
273
|
+
url = add_GET_param(remove_GET_param(@uri, ["_update", "_"]), "_fragment", "json_resources/#{ filename }")
|
274
274
|
f = @step.file(:json_resources)[filename].find
|
275
275
|
else
|
276
276
|
url = "/files/#{ filename }"
|
@@ -402,7 +402,7 @@ module RbbtRESTHelpers
|
|
402
402
|
if @step
|
403
403
|
table_file = @step.file(table_code) if @step
|
404
404
|
|
405
|
-
url = add_GET_param(@
|
405
|
+
url = add_GET_param(@uri, "_fragment", File.basename(table_file))
|
406
406
|
url = remove_GET_param(url, "_update")
|
407
407
|
url = remove_GET_param(url, "_layout")
|
408
408
|
url = remove_GET_param(url, "_")
|
data/lib/rbbt/rest/helpers.rb
CHANGED
@@ -1,5 +1,31 @@
|
|
1
1
|
module Sinatra
|
2
2
|
module RbbtMiscHelpers
|
3
|
+
def param_file(name)
|
4
|
+
name = name.to_s
|
5
|
+
if @params[name + '__param_file']
|
6
|
+
@params[name + '__param_file']['tempfile']
|
7
|
+
elsif @params[name]
|
8
|
+
StringIO.new @params[name]
|
9
|
+
else
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def post_uri
|
15
|
+
new_params = {}
|
16
|
+
@params.each do |k,v|
|
17
|
+
if m = k.match(/(.*)__param_file/)
|
18
|
+
new_params[m[1]] = v['filename']
|
19
|
+
else
|
20
|
+
new_params[k] = v
|
21
|
+
end
|
22
|
+
end
|
23
|
+
hash = Misc.obj2digest(new_params)
|
24
|
+
params["__post_hash_id"] = hash
|
25
|
+
@uri + "?__post_hash_id=#{hash}"
|
26
|
+
end
|
27
|
+
|
28
|
+
|
3
29
|
def file_mimetype(path)
|
4
30
|
require 'mimemagic'
|
5
31
|
mime = nil
|
data/lib/rbbt/rest/main.rb
CHANGED
@@ -123,10 +123,10 @@ module Sinatra
|
|
123
123
|
dir = settings.file_dir
|
124
124
|
FileUtils.mkdir_p dir unless File.exists? dir
|
125
125
|
printer.print(:path => dir, :profile => 'profile')
|
126
|
-
Log.info{ "Profile saved at #{ dir }: #{
|
126
|
+
Log.info{ "Profile saved at #{ dir }: #{@uri}" }
|
127
127
|
end
|
128
128
|
|
129
|
-
response.header["URI"] =
|
129
|
+
response.header["URI"] = @uri
|
130
130
|
end
|
131
131
|
|
132
132
|
add_sass_load_path Rbbt.views.compass.find
|
@@ -186,6 +186,12 @@ module Sinatra
|
|
186
186
|
template_render(template, params, name, :cache_type => :asynchronous)
|
187
187
|
end
|
188
188
|
|
189
|
+
post '/main/*' do |file|
|
190
|
+
template = File.join 'main', file
|
191
|
+
name = template.gsub(/\//,' - ')
|
192
|
+
template_render(template, params, name, :cache_type => :asynchronous)
|
193
|
+
end
|
194
|
+
|
189
195
|
get '/help/?:section?' do
|
190
196
|
if params[:section]
|
191
197
|
section = params[:section]
|
@@ -9,7 +9,7 @@ class StreamWorkflowTask
|
|
9
9
|
EOL = "\r\n"
|
10
10
|
|
11
11
|
def parse_uri(env)
|
12
|
-
uri =
|
12
|
+
uri = @uri
|
13
13
|
_n, workflow, task = uri.split("/")
|
14
14
|
workflow = begin
|
15
15
|
Kernel.const_get(workflow)
|
@@ -195,9 +195,9 @@ class StreamWorkflowTask
|
|
195
195
|
end
|
196
196
|
|
197
197
|
def do_stream(env)
|
198
|
-
uri =
|
198
|
+
uri = @uri
|
199
199
|
|
200
|
-
post =
|
200
|
+
post = @request_method
|
201
201
|
return false unless post == "POST"
|
202
202
|
|
203
203
|
hijack = !!env["rack.hijack"]
|
data/lib/rbbt/rest/workflow.rb
CHANGED
@@ -292,7 +292,7 @@ module Sinatra
|
|
292
292
|
job = consume_parameter(:job)
|
293
293
|
filename = params[:splat].first
|
294
294
|
|
295
|
-
raise Workflow::TaskNotFoundException.new workflow, task unless workflow.tasks.include?
|
295
|
+
raise Workflow::TaskNotFoundException.new workflow, task unless workflow.tasks.include?(task.to_sym)
|
296
296
|
|
297
297
|
execution_type = execution_type(workflow, task)
|
298
298
|
|
@@ -94,9 +94,21 @@ table
|
|
94
94
|
.caption, .title
|
95
95
|
color: $subtle-font
|
96
96
|
|
97
|
+
// USED?
|
97
98
|
.info > .meta dt
|
98
99
|
font-weight: bold
|
99
100
|
|
101
|
+
//
|
102
|
+
.card_sidebar .meta
|
103
|
+
& dt
|
104
|
+
font-weight: bold
|
105
|
+
|
106
|
+
& dd
|
107
|
+
min-height: 1em
|
108
|
+
&:empty
|
109
|
+
width: 3em
|
110
|
+
background-color: #eee
|
111
|
+
|
100
112
|
dd > ul
|
101
113
|
margin-top: 0px
|
102
114
|
|
@@ -21,7 +21,7 @@
|
|
21
21
|
%input(type='submit')
|
22
22
|
|
23
23
|
- if (%w(pvalue p.value p-value pvalues p.values p-values qvalue q.value q-value qvalues q.values q-values) & map.fields.first.downcase.split(/\s+/)).any? and map.fields.first.downcase !~ /score$/
|
24
|
-
- url = add_GET_param(@
|
24
|
+
- url = add_GET_param(@uri, '_format', 'pvalue_score')
|
25
25
|
%a.ui.small.button(href=url) Pvalue score
|
26
26
|
|
27
27
|
= reveal "QQ-plot", nil, :class => 'ui small button plot' do
|
@@ -56,16 +56,16 @@
|
|
56
56
|
|
57
57
|
- if Gene == Entity.formats[map.key_field]
|
58
58
|
- if map.key_field != "Ensembl Gene ID"
|
59
|
-
- url = add_GET_param(@
|
59
|
+
- url = add_GET_param(@uri, '_format', 'ensembl')
|
60
60
|
%a.ensembl.ui.small.button(href=url) Ensembl
|
61
61
|
- if map.key_field != "Associated Gene Name"
|
62
|
-
- url = add_GET_param(@
|
62
|
+
- url = add_GET_param(@uri, '_format', 'name')
|
63
63
|
%a.name.ui.small.button(href=url) Name
|
64
64
|
- if "Rank" == map.fields.first
|
65
|
-
- url = add_GET_param(@
|
65
|
+
- url = add_GET_param(@uri, '_format', 'invert_ranks')
|
66
66
|
%a.invert_ranks.ui.small.button(href=url) Invert ranks
|
67
67
|
- else
|
68
|
-
- url = add_GET_param(@
|
68
|
+
- url = add_GET_param(@uri, '_format', 'ranks')
|
69
69
|
%a.ranks.ui.small.button(href=url) Ranks
|
70
70
|
- if NumericValue == Entity.formats[map.fields.first] or (map.entity_templates[map.fields.first] and map.entity_templates[map.fields.first].annotation_types.include? NumericValue)
|
71
71
|
- $page_entity_base_type = page_entity_base_type
|
data/share/views/error.haml
CHANGED
@@ -20,19 +20,19 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
- if defined? job.info_file and Open.exists? job.info_file and
|
24
|
-
- clean_url = add_GET_param(remove_GET_param(
|
23
|
+
- if defined? job.info_file and Open.exists? job.info_file and @uri.include? job.name
|
24
|
+
- clean_url = add_GET_param(remove_GET_param(@uri, "_layout"), "_update", "clean")
|
25
25
|
%a.ui.button.blue.clean(href=clean_url) Clean
|
26
26
|
- else
|
27
|
-
- clean_url = add_GET_param(remove_GET_param(
|
27
|
+
- clean_url = add_GET_param(remove_GET_param(@uri, "_layout"), "_update", "reload")
|
28
28
|
%a.ui.blue.button.reload(href=clean_url) Reload
|
29
29
|
|
30
|
-
- info_url =
|
31
|
-
- if
|
30
|
+
- info_url = @uri.sub(/\?.*/,'') + '/info'
|
31
|
+
- if @uri.include? job.name
|
32
32
|
%a.ui.blue.button.reload(href=info_url) Info
|
33
33
|
|
34
|
-
- if job.files.any? and
|
35
|
-
- files_url =
|
34
|
+
- if job.files.any? and @uri.include? job.name
|
35
|
+
- files_url = @uri.sub(/\?.*/,'') + '/files'
|
36
36
|
%a.ui.blue.button.reload(href=files_url) Files
|
37
37
|
|
38
38
|
|
data/share/views/job_files.haml
CHANGED
data/share/views/job_info.haml
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
- autofill_id = "autofill_" << Misc.digest(job.name)
|
26
26
|
.ui.button.autofill(id=autofill_id) Auto-fill form with inputs
|
27
27
|
.ui.button.autofill(id=autofill_id)
|
28
|
-
%a(href="#{@
|
28
|
+
%a(href="#{@ajax_url}?_format=input_bundle") Download input bundle
|
29
29
|
:deferjs
|
30
30
|
$('##{autofill_id}').click(function(){
|
31
31
|
var inputs = #{inputs.to_hash.to_json};
|
@@ -1,5 +1,8 @@
|
|
1
1
|
.ui.buttons.job_control
|
2
|
-
|
2
|
+
- if Open.exists?(job.info_file)
|
3
|
+
%a.ui.small.basic.red.button(href="/#{[workflow.to_s, task, jobname] * "/"}?_update=clean") clean job
|
4
|
+
- else
|
5
|
+
%a.ui.small.basic.red.button.disabled(href="/#{[workflow.to_s, task, jobname] * "/"}?_update=clean") clean job
|
3
6
|
%a.ui.small.basic.blue.button(href="/#{[workflow.to_s, task, jobname, "info"] * "/"}") job info
|
4
7
|
- if job.files.any?
|
5
8
|
%a.ui.small.basic.blue.button(href="/#{[workflow.to_s, task, jobname, "files"] * "/"}") job files
|
@@ -9,6 +9,7 @@
|
|
9
9
|
|
10
10
|
- klass = "#{klass} custom"
|
11
11
|
|
12
|
+
- action = remove_GET_param(action, '__post_hash_id') if action
|
12
13
|
- if defined?(description) and description
|
13
14
|
.form_description
|
14
15
|
=description
|
@@ -66,7 +67,7 @@
|
|
66
67
|
- input_options = options[input]
|
67
68
|
- input_options = input_options.dup unless input_options.nil?
|
68
69
|
- description = descriptions[input]
|
69
|
-
- if use[input]
|
70
|
+
- if use[input] && description
|
70
71
|
- description += "\n\nUsed in:\n"
|
71
72
|
- uses.each do |workflow, tasks|
|
72
73
|
- tasks.each do |task|
|
@@ -113,14 +113,14 @@ function replace_object(object, href, embedd, complete){
|
|
113
113
|
href = remove_parameter(href, '_update');
|
114
114
|
href = remove_parameter(href, '_');
|
115
115
|
|
116
|
-
|
117
|
-
if (
|
118
|
-
error_message = $(
|
116
|
+
text = req.responseText
|
117
|
+
if (text.match('error_message') != null){
|
118
|
+
error_message = $(text).find('.error_message').html()
|
119
119
|
}else{
|
120
|
-
if (
|
121
|
-
error_message = $(
|
120
|
+
if (text.match('summary') != null){
|
121
|
+
error_message = $(text).find('#summary').text()
|
122
122
|
}else{
|
123
|
-
error_message =
|
123
|
+
error_message = text.split("\n")[0]
|
124
124
|
}
|
125
125
|
}
|
126
126
|
|
@@ -204,7 +204,7 @@ function update_embedded(object, reload, complete){
|
|
204
204
|
|
205
205
|
|
206
206
|
function capture_embedded_form(object){
|
207
|
-
|
207
|
+
object = $(object)
|
208
208
|
object.find('form').submit(function(){
|
209
209
|
var form = $(this);
|
210
210
|
var embedded = object;
|
@@ -59,6 +59,13 @@ ModalComponent = function(element){
|
|
59
59
|
})
|
60
60
|
}
|
61
61
|
|
62
|
+
ctrl.capture_embedded_form = function(){
|
63
|
+
var content = $(this.vm.element).find('> .content')
|
64
|
+
content.attr('target-href', this.vm.url)
|
65
|
+
console.log(content)
|
66
|
+
capture_embedded_form(content)
|
67
|
+
}
|
68
|
+
|
62
69
|
ctrl.close = function(){
|
63
70
|
ctrl.vm.visible(false)
|
64
71
|
ctrl.vm.url = undefined
|
data/share/views/wait.haml
CHANGED
@@ -66,21 +66,21 @@
|
|
66
66
|
$('.step.progress').progress({label: 'ratio',text:{ratio: '{value}'}})
|
67
67
|
|
68
68
|
%hr
|
69
|
-
- if defined? job.info_file and File.exists? job.info_file and
|
70
|
-
- abort_url = add_GET_param(remove_GET_param(
|
69
|
+
- if defined? job.info_file and File.exists? job.info_file and @uri.include? job.name
|
70
|
+
- abort_url = add_GET_param(remove_GET_param(@uri, "_layout"), "_update", "abort")
|
71
71
|
%a.ui.button.red.abort(href=abort_url) Abort
|
72
|
-
-#- clean_url = add_GET_param(remove_GET_param(
|
72
|
+
-#- clean_url = add_GET_param(remove_GET_param(@uri, "_layout"), "_update", "clean")
|
73
73
|
-#%a.ui.button.blue.clean(href=clean_url) Clean
|
74
74
|
- else
|
75
|
-
- clean_url = add_GET_param(remove_GET_param(
|
75
|
+
- clean_url = add_GET_param(remove_GET_param(@uri, "_layout"), "_update", "reload")
|
76
76
|
%a.ui.blue.button.reload(href=clean_url) Reload
|
77
77
|
|
78
|
-
- if
|
79
|
-
- info_url =
|
78
|
+
- if @uri.include? job.name
|
79
|
+
- info_url = @uri.sub(/\?.*/,'') + '/info'
|
80
80
|
%a.ui.blue.button.reload(href=info_url) Info
|
81
81
|
|
82
|
-
- if job.files.any? and
|
83
|
-
- files_url =
|
82
|
+
- if job.files.any? and @uri.include? job.name
|
83
|
+
- files_url = @uri.sub(/\?.*/,'') + '/files'
|
84
84
|
%a.ui.blue.button.reload(href=files_url) Files
|
85
85
|
|
86
86
|
- if ! progress
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.148
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-06-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -1881,7 +1881,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1881
1881
|
- !ruby/object:Gem::Version
|
1882
1882
|
version: '0'
|
1883
1883
|
requirements: []
|
1884
|
-
rubygems_version: 3.
|
1884
|
+
rubygems_version: 3.1.4
|
1885
1885
|
signing_key:
|
1886
1886
|
specification_version: 4
|
1887
1887
|
summary: Rbbt Web and REST interfaces
|