Commit 4423508ec1cc66481b31b648707cf5405ed3fb63
1 parent
9a208594
Exists in
master
and in
1 other branch
Tela de avaliação do sinal gerado por outro usuário.
Showing
5 changed files
with
547 additions
and
480 deletions
Show diff stats
view/assets/css/main.css
@@ -46,7 +46,7 @@ body { | @@ -46,7 +46,7 @@ body { | ||
46 | width: 100%; | 46 | width: 100%; |
47 | margin: 0; | 47 | margin: 0; |
48 | left: 0; | 48 | left: 0; |
49 | - background-color: #6958b4; | 49 | + background-color: rgba(43, 40, 41, 0.95); |
50 | opacity: 0.95; | 50 | opacity: 0.95; |
51 | } | 51 | } |
52 | 52 | ||
@@ -497,6 +497,11 @@ ul.rig.columns-4 li { | @@ -497,6 +497,11 @@ ul.rig.columns-4 li { | ||
497 | margin: auto; | 497 | margin: auto; |
498 | } | 498 | } |
499 | 499 | ||
500 | +#approval-msg { | ||
501 | + display: none; | ||
502 | + margin: 0px; | ||
503 | +} | ||
504 | + | ||
500 | /* Thanks Screen */ | 505 | /* Thanks Screen */ |
501 | #thanks-screen h3 { | 506 | #thanks-screen h3 { |
502 | margin-bottom: 0px; | 507 | margin-bottom: 0px; |
view/assets/js/dynamic-loading-engine.js
@@ -62,8 +62,6 @@ | @@ -62,8 +62,6 @@ | ||
62 | case 'orientacao-retilineo': | 62 | case 'orientacao-retilineo': |
63 | goodData = replaceOrientationTag(data, currentMainConfig); | 63 | goodData = replaceOrientationTag(data, currentMainConfig); |
64 | break; | 64 | break; |
65 | - default: | ||
66 | - console.log('No subConfig found'); | ||
67 | } | 65 | } |
68 | } | 66 | } |
69 | goodData = replaceHandFolderTag(goodData, currentMainConfig); | 67 | goodData = replaceHandFolderTag(goodData, currentMainConfig); |
view/assets/js/wikilibras.js
1 | (function(wikilibras, $, undefined) { | 1 | (function(wikilibras, $, undefined) { |
2 | 2 | ||
3 | - var videos_url = ''; | ||
4 | - var base_url = ''; | ||
5 | - var server_backend_url = ''; | ||
6 | - var api_url = ''; | ||
7 | - var current_task_id = -1; | ||
8 | - var tmpParameterJSON = {}; | ||
9 | - var parsedParameterJSON = {}; | ||
10 | - | ||
11 | - function _setupTmpParameterJSON(sign_name) { | ||
12 | - tmpParameterJSON = { | ||
13 | - 'sinal': sign_name, | ||
14 | - 'facial': {}, | ||
15 | - 'right-hand': {}, | ||
16 | - 'left-hand': {} | ||
17 | - }; | ||
18 | - parsedParameterJSON = {}; | ||
19 | - } | ||
20 | - | ||
21 | - function _loadTaskInfo(task) { | ||
22 | - current_task_id = task.id; | ||
23 | - var sign_name = task.info.sign_name; | ||
24 | - var ref_vid_link = videos_url + sign_name + '_REF.webm'; | ||
25 | - $('.sign-label').text(sign_name); | ||
26 | - $('.ref-video').attr('src', ref_vid_link); | ||
27 | - | ||
28 | - _setupTmpParameterJSON(task.info.sign_name); | ||
29 | - } | ||
30 | - | ||
31 | - function _changeImage(img, url) { | ||
32 | - img.attr('src', url); | ||
33 | - } | ||
34 | - | ||
35 | - function _enableIconHover(container, isHover) { | ||
36 | - var img = $(container).find('img').first(); | ||
37 | - var hover_img_url = base_url + '/img/' + $(container).attr('name'); | ||
38 | - if (isHover) { | ||
39 | - hover_img_url += '-icon-hover.png'; | ||
40 | - } else { | ||
41 | - hover_img_url += '-icon.png'; | ||
42 | - } | ||
43 | - _changeImage(img, hover_img_url); | ||
44 | - } | ||
45 | - | ||
46 | - function _selectIcon(iconName, isSelect, panel) { | ||
47 | - panel = typeof panel == 'undefined' ? '' : '[panel=' + panel + ']'; | ||
48 | - var icon_id = '.icon_container[name=' + iconName + ']' + panel; | ||
49 | - _enableIconHover(icon_id, isSelect); | ||
50 | - $(icon_id).attr('select', isSelect); | ||
51 | - } | ||
52 | - | ||
53 | - function _deselectIcon(iconName, parent) { | ||
54 | - _selectIcon(iconName, false, parent); | ||
55 | - } | ||
56 | - | ||
57 | - function _enableIconCheck(container, isCheck) { | ||
58 | - var img = $(container).find('img').first(); | ||
59 | - var check_img_url = base_url + '/img/' + $(container).attr('name'); | ||
60 | - | ||
61 | - if (isCheck) { | ||
62 | - check_img_url += '-icon-check.png'; | ||
63 | - } else { | ||
64 | - check_img_url += '-icon.png'; | ||
65 | - } | ||
66 | - _changeImage(img, check_img_url); | ||
67 | - } | ||
68 | - | ||
69 | - function _setupCheckIcon(option, isCheck, panel) { | ||
70 | - panel = typeof panel == 'undefined' ? '' : '[panel=' + panel + ']'; | ||
71 | - var icon_id = '.icon_container[name=' + option + ']' + panel; | ||
72 | - _enableIconCheck(icon_id, isCheck); | ||
73 | - $('.icon_container[name=' + option + ']' + panel).attr('complete', | ||
74 | - isCheck); | ||
75 | - } | ||
76 | - | ||
77 | - function _isSelectingState() { | ||
78 | - return $('#configuration-panel .icon_container[select=true]').length > 0; | ||
79 | - } | ||
80 | - | ||
81 | - function _isConfigurationComplete(config) { | ||
82 | - var baseId = '.subconfiguration-panel[mainConfig=' + config + ']'; | ||
83 | - var total_config = $(baseId + ' .icon_container[json_name][active=true]').length; | ||
84 | - var completed_config = $(baseId + ' .icon_container[active=true][complete=true]').length; | ||
85 | - return completed_config != 0 && total_config == completed_config; | ||
86 | - } | ||
87 | - | ||
88 | - function _canHover(el) { | ||
89 | - var incompleteConfig = typeof $(el).attr('complete') == 'undefined' || | ||
90 | - $(el).attr('complete') == 'false'; | ||
91 | - return (!_isSelectingState() && incompleteConfig) || | ||
92 | - (typeof $(el).attr('select') == 'undefined' && incompleteConfig); | ||
93 | - } | ||
94 | - | ||
95 | - function _getCurrentMainConfiguration() { | ||
96 | - return _isSelectingState() ? $( | ||
97 | - '#configuration-panel .icon_container[select=true]').attr( | ||
98 | - 'name') : ''; | ||
99 | - } | ||
100 | - | ||
101 | - function _addZoomInToAvatar(option, callback) { | ||
102 | - $('#avatar-default') | ||
103 | - .fadeOut( | ||
104 | - 500, | ||
105 | - function() { | ||
106 | - $('#avatar-container').removeClass('col-sm-7'); | ||
107 | - $('#avatar-container').addClass('col-sm-5'); | ||
108 | - $('#selection-container').removeClass('col-sm-2'); | ||
109 | - $('#selection-container').addClass('col-sm-4'); | ||
110 | - $('#avatar-container').removeClass( | ||
111 | - 'avatar-container-zoom-out'); | ||
112 | - $('#avatar-container').addClass( | ||
113 | - 'avatar-container-zoom-in'); | ||
114 | - $('#avatar-' + option).removeClass( | ||
115 | - 'avatar-img-zoom-out'); | ||
116 | - $('#avatar-' + option).fadeIn( | ||
117 | - 500, | ||
118 | - function() { | ||
119 | - $('#avatar-' + option).addClass( | ||
120 | - 'avatar-' + option + | ||
121 | - '-img-zoom-in'); | ||
122 | - callback(); | ||
123 | - }); | ||
124 | - }); | ||
125 | - } | ||
126 | - | ||
127 | - function _addZoomOutToAvatar(option, callback) { | ||
128 | - $('#avatar-' + option).fadeOut( | ||
129 | - 500, | ||
130 | - function() { | ||
131 | - $('#selection-container').removeClass('col-sm-4'); | ||
132 | - $('#selection-container').addClass('col-sm-2'); | ||
133 | - $('#avatar-container').removeClass('col-sm-5'); | ||
134 | - $('#avatar-container').addClass('col-sm-7'); | ||
135 | - $('#avatar-container').removeClass( | ||
136 | - 'avatar-container-zoom-in'); | ||
137 | - $('#avatar-container') | ||
138 | - .addClass('avatar-container-zoom-out'); | ||
139 | - $('#avatar-default').fadeIn( | ||
140 | - 500, | ||
141 | - function() { | ||
142 | - $('#avatar-' + option).removeClass( | ||
143 | - 'avatar-' + option + '-img-zoom-in'); | ||
144 | - $('#avatar-' + option).addClass( | ||
145 | - 'avatar-img-zoom-out'); | ||
146 | - callback(); | ||
147 | - }); | ||
148 | - }); | ||
149 | - } | ||
150 | - | ||
151 | - function _clearPreviousSelection() { | ||
152 | - $('.selection-panel-body').hide(); | ||
153 | - $('.subconfiguration-panel').hide(); | ||
154 | - | ||
155 | - if (_isSelectingState()) { | ||
156 | - var current_option = _getCurrentMainConfiguration(); | ||
157 | - _selectIcon(current_option, false); | ||
158 | - if (_isConfigurationComplete(current_option)) { | ||
159 | - _setupCheckIcon(current_option, true); | ||
160 | - } | ||
161 | - $('#avatar-' + current_option).fadeOut(500); | ||
162 | - } | ||
163 | - } | ||
164 | - | ||
165 | - function _showSelectionPanel(option) { | ||
166 | - _clearPreviousSelection(); | ||
167 | - _selectIcon(option, true); | ||
168 | - _setupGUIOnSelection(option, function() { | ||
169 | - dynworkflow.finishMainConfigSetup(option); | ||
170 | - }); | ||
171 | - dynworkflow.selectMainConfig(option); | ||
172 | - } | ||
173 | - | ||
174 | - function _hideSelectionPanel() { | ||
175 | - var config = _getCurrentMainConfiguration(); | ||
176 | - _deselectIcon(config); | ||
177 | - if (_isConfigurationComplete(config)) { | ||
178 | - _finishConfiguration(config, true); | ||
179 | - } else { | ||
180 | - _finishConfiguration(config, false); | ||
181 | - } | ||
182 | - | ||
183 | - _addZoomOutToAvatar(config, function() { | ||
184 | - $('#ready-button').fadeIn(300); | ||
185 | - $('.edit-container').fadeIn(300); | ||
186 | - }); | ||
187 | - $('#selection-panel').fadeOut(300); | ||
188 | - } | ||
189 | - | ||
190 | - function _canRenderSignVideo() { | ||
191 | - return _isConfigurationComplete('facial') && | ||
192 | - (_isConfigurationComplete('right-hand') || _isConfigurationComplete('left-hand')); | ||
193 | - } | ||
194 | - | ||
195 | - function _finishConfiguration(config, toFinish) { | ||
196 | - _setupCheckIcon(config, toFinish); | ||
197 | - _setupCheckIcon('avatar-' + config, toFinish); | ||
198 | - | ||
199 | - if (toFinish) { | ||
200 | - $('#' + config + '-edit .check-icon').show(); | ||
201 | - } else { | ||
202 | - $('#' + config + '-edit .check-icon').hide(); | ||
203 | - } | ||
204 | - if (_canRenderSignVideo()) { | ||
205 | - $('#ready-button').removeClass('disabled'); | ||
206 | - } else { | ||
207 | - $('#ready-button').addClass('disabled'); | ||
208 | - } | ||
209 | - } | ||
210 | - | ||
211 | - function _unfinishConfiguration(config, panel) { | ||
212 | - _setupCheckIcon(config, false, panel); | ||
213 | - _setupCheckIcon('avatar-' + config, false, panel); | ||
214 | - $('#' + config + '-edit .check-icon').hide(); | ||
215 | - | ||
216 | - if (!_canRenderSignVideo()) { | ||
217 | - $('#ready-button').addClass('disabled'); | ||
218 | - } | ||
219 | - } | ||
220 | - | ||
221 | - function _setupGUIOnSelection(option, finishCallback) { | ||
222 | - $('#ready-button').fadeOut(300); | ||
223 | - $('.edit-container').fadeOut(300); | ||
224 | - _addZoomInToAvatar(option, function() { | ||
225 | - $('#selection-panel').fadeIn(300, function() { | ||
226 | - finishCallback(); | ||
227 | - }); | ||
228 | - }); | ||
229 | - } | ||
230 | - | ||
231 | - function _setupConfigurationPanel() { | ||
232 | - $('.icon_container').off('mouseover').on('mouseover', function() { | ||
233 | - if (_canHover(this)) { | ||
234 | - _enableIconHover(this, true); | ||
235 | - } | ||
236 | - }); | ||
237 | - $('.icon_container').off('mouseout').on('mouseout', function() { | ||
238 | - if (_canHover(this)) { | ||
239 | - _enableIconHover(this, false); | ||
240 | - } | ||
241 | - }); | ||
242 | - $('.config-panel-option').off('click').on('click', function() { | ||
243 | - _showSelectionPanel($(this).attr('panel')); | ||
244 | - }); | ||
245 | - $('#minimize-icon-container').off('click').on('click', function() { | ||
246 | - $('#ref-video-container').hide(); | ||
247 | - $('#minimize-icon-container').hide(); | ||
248 | - $('#maximize-icon-container').show(); | ||
249 | - }); | ||
250 | - $('#maximize-icon-container').off('click').on('click', function() { | ||
251 | - $('#ref-video-container').show(); | ||
252 | - $('#maximize-icon-container').hide(); | ||
253 | - $('#minimize-icon-container').show(); | ||
254 | - }); | ||
255 | - } | ||
256 | - | ||
257 | - function _updateTempParameterJSON(mainConfig, subConfig, step, value) { | ||
258 | - var subConfigJSON = tmpParameterJSON[mainConfig][subConfig]; | ||
259 | - if (typeof subConfigJSON == 'undefined') { | ||
260 | - tmpParameterJSON[mainConfig][subConfig] = []; | ||
261 | - subConfigJSON = tmpParameterJSON[mainConfig][subConfig]; | ||
262 | - } | ||
263 | - | ||
264 | - subConfigJSON[parseInt(step) - 1] = value; | ||
265 | - } | ||
266 | - | ||
267 | - function _selectAnOption(parentId, el) { | ||
268 | - $(parentId + ' .selection-panel-option[select=true]').removeAttr('select'); | ||
269 | - $(el).attr('select', true); | ||
270 | - | ||
271 | - var mainConfig = $(parentId).attr('mainConfig'); | ||
272 | - var subConfig = $(parentId).attr('subConfig'); | ||
273 | - var step = $(parentId).attr('step'); | ||
274 | - _updateTempParameterJSON(mainConfig, subConfig, step, $(el).attr('value')); | ||
275 | - } | ||
276 | - | ||
277 | - function _setupSelectionPanel() { | ||
278 | - $('#selection-panel .x').off('click').on('click', function() { | ||
279 | - _hideSelectionPanel(); | ||
280 | - }); | ||
281 | - } | ||
282 | - | ||
283 | - // Render Screen | ||
284 | - function _submitParameterJSON(callback) { | ||
285 | - parsedParameterJSON = tmpJSONParser.parse(tmpParameterJSON); | ||
286 | - console.log(parsedParameterJSON); | ||
287 | - | ||
288 | - $.ajax({ | ||
289 | - type: 'POST', | ||
290 | - url: api_url + '/sign', | ||
291 | - data: JSON.stringify(parsedParameterJSON), | ||
292 | - contentType: 'application/json', | ||
293 | - success: function(response) { | ||
294 | - console.log(response); | ||
295 | - callback(); | ||
296 | - }, | ||
297 | - error: function(xhr, textStatus, error) { | ||
298 | - alert(xhr.responseText); | ||
299 | - } | ||
300 | - }); | ||
301 | - } | ||
302 | - | ||
303 | - function _getRenderedAvatarUrl(userId, signName) { | ||
304 | - return api_url + '/public/' + userId + '/' + signName + ".webm"; | ||
305 | - } | ||
306 | - | ||
307 | - function _showRenderedAvatar() { | ||
308 | - var userId = parsedParameterJSON['userId']; | ||
309 | - var signName = parsedParameterJSON['sinal']; | ||
310 | - $("#render-avatar video").attr("src", _getRenderedAvatarUrl(userId, signName)); | ||
311 | - $("#render-avatar").fadeIn(300); | ||
312 | - } | ||
313 | - | ||
314 | - function _setupRenderScreen() { | ||
315 | - $("#configuration-screen").hide(); | ||
316 | - $("#render-avatar").hide(); | ||
317 | - $("#render-screen").show(); | ||
318 | - $("#render-loading").fadeIn(300); | ||
319 | - $("#finish-button").addClass("disabled"); | ||
320 | - $("#render-ref video").prop("controls", false); | ||
321 | - $("#render-ref video").get(0).pause(); | ||
322 | - | ||
323 | - _submitParameterJSON(function() { | ||
324 | - $("#render-loading").fadeOut(300); | ||
325 | - $("#render-ref video").prop("controls", true); | ||
326 | - $("#render-ref video").get(0).play(); | ||
327 | - $("#finish-button").removeClass("disabled"); | ||
328 | - _showRenderedAvatar(); | ||
329 | - }); | ||
330 | - //$("#finish-button").removeClass("disabled"); | ||
331 | - } | ||
332 | - | ||
333 | - function _clearGUI() { | ||
334 | - articulation.clean(); | ||
335 | - $(".selection-panel-option").removeAttr('select'); | ||
336 | - $(".icon_container").removeAttr("select"); | ||
337 | - $(".icon_container[complete=true]").each( | ||
338 | - function() { | ||
339 | - _unfinishConfiguration($(this).attr("name"), $(this).attr( | ||
340 | - "panel")); | ||
341 | - }); | ||
342 | - } | ||
343 | - | ||
344 | - function _setupMainScreen(task, deferred) { | ||
345 | - $("#initial-screen").fadeIn(300); | ||
346 | - $("#start-button").off("click").on("click", function() { | ||
347 | - $("#initial-screen").hide(); | ||
348 | - $("#configuration-screen").show(); | ||
349 | - dynengine.load(); | ||
350 | - console.log('dynengine loaded'); | ||
351 | - dynworkflow.load(); | ||
352 | - console.log('dynworkflow loaded'); | ||
353 | - }); | ||
354 | - $("#ready-button").off("click").on("click", function() { | ||
355 | - if ($(this).hasClass('disabled')) { | ||
356 | - event.preventDefault(); | ||
357 | - return; | ||
358 | - } | ||
359 | - _setupRenderScreen(); | ||
360 | - }); | ||
361 | - $("#render-edit").off("click").on("click", function() { | ||
362 | - $("#render-screen").hide(); | ||
363 | - $("#configuration-screen").show(); | ||
364 | - }); | ||
365 | - $("#finish-button").off("click").on("click", function() { | ||
366 | - if ($(this).hasClass('disabled')) { | ||
367 | - event.preventDefault(); | ||
368 | - return; | ||
369 | - } | ||
370 | - $("#render-screen").hide(); | ||
371 | - $("#thanks-screen").show(); | ||
372 | - _saveAnswer(task, deferred) | ||
373 | - }); | ||
374 | - } | ||
375 | - | ||
376 | - function _setupGUI(task, deferred) { | ||
377 | - _clearGUI(); | ||
378 | - _setupConfigurationPanel(); | ||
379 | - _setupSelectionPanel(); | ||
380 | - _setupMainScreen(task, deferred); | ||
381 | - | ||
382 | - submitSign.setup(); | ||
383 | - } | ||
384 | - | ||
385 | - function _saveAnswer(task, deferred) { | ||
386 | - var answer = {} | ||
387 | - answer["status"] = "FINISHED"; | ||
388 | - answer["parameter_json"] = parsedParameterJSON; | ||
389 | - | ||
390 | - /*pybossa.saveTask(task.id, answer).done(function() { | ||
391 | - setTimeout(function() { | ||
392 | - $("#thanks-screen").hide(); | ||
393 | - deferred.resolve(); | ||
394 | - }, 2500); | ||
395 | - });*/ | ||
396 | - setTimeout(function() { | ||
397 | - $("#thanks-screen").hide(); | ||
398 | - deferred.resolve(); | ||
399 | - }, 2500); | ||
400 | - } | ||
401 | - | ||
402 | - function _showCompletedAllTaskMsg() { | ||
403 | - $("#completed-task-msg").hide(); | ||
404 | - $("#completed-all-task-msg").show(); | ||
405 | - $("#thanks-screen").fadeIn(300); | ||
406 | - // It removes the PyBossa default message | ||
407 | - $(".row .col-md-12 p").remove(); | ||
408 | - } | ||
409 | - | ||
410 | - pybossa.presentTask(function(task, deferred) { | ||
411 | - if (!$.isEmptyObject(task) && current_task_id != task.id) { | ||
412 | - _loadTaskInfo(task); | ||
413 | - _setupGUI(task, deferred) | ||
414 | - $("#main-container").fadeIn(500); | ||
415 | - } else { | ||
416 | - _showCompletedAllTaskMsg(); | ||
417 | - } | ||
418 | - }); | ||
419 | - | ||
420 | - // Private methods | ||
421 | - function _run(projectname) { | ||
422 | - pybossa.run(projectname); | ||
423 | - } | ||
424 | - | ||
425 | - // Public methods | ||
426 | - wikilibras.run = function(serverhost, serverbackend, projectname, apihost) { | ||
427 | - base_url = serverhost; | ||
428 | - server_back_url = serverbackend; | ||
429 | - videos_url = base_url + "/videos/"; | ||
430 | - api_url = apihost; | ||
431 | - _run(projectname); | ||
432 | - }; | ||
433 | - | ||
434 | - wikilibras.updateTempParameterJSON = function(mainConfig, subConfig, step, value) { | ||
435 | - _updateTempParameterJSON(mainConfig, subConfig, step, value); | ||
436 | - } | ||
437 | - | ||
438 | - wikilibras.hideSelectionPanel = function() { | ||
439 | - _hideSelectionPanel(); | ||
440 | - } | ||
441 | - | ||
442 | - wikilibras.selectAnOption = function(parentId, el) { | ||
443 | - _selectAnOption(parentId, el); | ||
444 | - } | ||
445 | - | ||
446 | - wikilibras.enableIconHover = function(container, isHover) { | ||
447 | - _enableIconHover(container, isHover); | ||
448 | - } | ||
449 | - | ||
450 | - wikilibras.enableIconCheck = function(container, isHover) { | ||
451 | - _enableIconCheck(container, isHover); | ||
452 | - } | ||
453 | - | ||
454 | - wikilibras.showTeachContainer = function() { | ||
455 | - $(".sub-main-container").hide(); | ||
456 | - $("#teach-container").show(); | ||
457 | - } | ||
458 | - | ||
459 | - wikilibras.showSubmitSignContainer = function() { | ||
460 | - $(".sub-main-container").hide(); | ||
461 | - $("#submit-sign-container").show(); | ||
462 | - } | ||
463 | - | ||
464 | - wikilibras.showTeachedSignsContainer = function() { | ||
465 | - $(".sub-main-container").hide(); | ||
466 | - $("#teached-signs-container").show(); | ||
467 | - } | ||
468 | - | ||
469 | - wikilibras.showTutorialContainer = function() { | ||
470 | - $(".sub-main-container").hide(); | ||
471 | - $("#tutorial-container").show(); | ||
472 | - } | ||
473 | - | ||
474 | -}(window.wikilibras = window.wikilibras || {}, jQuery)); | 3 | + var videos_url = ''; |
4 | + var base_url = ''; | ||
5 | + var server_backend_url = ''; | ||
6 | + var api_url = ''; | ||
7 | + var current_task_id = -1; | ||
8 | + var tmpParameterJSON = {}; | ||
9 | + var parsedParameterJSON = {}; | ||
10 | + | ||
11 | + function _setupTmpParameterJSON(sign_name) { | ||
12 | + tmpParameterJSON = { | ||
13 | + 'sinal' : sign_name, | ||
14 | + 'facial' : {}, | ||
15 | + 'right-hand' : {}, | ||
16 | + 'left-hand' : {} | ||
17 | + }; | ||
18 | + parsedParameterJSON = {}; | ||
19 | + } | ||
20 | + | ||
21 | + function _loadTaskInfo(task) { | ||
22 | + current_task_id = task.id; | ||
23 | + var sign_name = task.info.sign_name; | ||
24 | + var ref_vid_link = videos_url + sign_name + '_REF.webm'; | ||
25 | + $('.sign-label').text(sign_name); | ||
26 | + $('.ref-video').attr('src', ref_vid_link); | ||
27 | + | ||
28 | + _setupTmpParameterJSON(task.info.sign_name); | ||
29 | + } | ||
30 | + | ||
31 | + function _changeImage(img, url) { | ||
32 | + img.attr('src', url); | ||
33 | + } | ||
34 | + | ||
35 | + function _enableIconHover(container, isHover) { | ||
36 | + var img = $(container).find('img').first(); | ||
37 | + var hover_img_url = base_url + '/img/' + $(container).attr('name'); | ||
38 | + if (isHover) { | ||
39 | + hover_img_url += '-icon-hover.png'; | ||
40 | + } else { | ||
41 | + hover_img_url += '-icon.png'; | ||
42 | + } | ||
43 | + _changeImage(img, hover_img_url); | ||
44 | + } | ||
45 | + | ||
46 | + function _selectIcon(iconName, isSelect, panel) { | ||
47 | + panel = typeof panel == 'undefined' ? '' : '[panel=' + panel + ']'; | ||
48 | + var icon_id = '.icon_container[name=' + iconName + ']' + panel; | ||
49 | + _enableIconHover(icon_id, isSelect); | ||
50 | + $(icon_id).attr('select', isSelect); | ||
51 | + } | ||
52 | + | ||
53 | + function _deselectIcon(iconName, parent) { | ||
54 | + _selectIcon(iconName, false, parent); | ||
55 | + } | ||
56 | + | ||
57 | + function _enableIconCheck(container, isCheck) { | ||
58 | + var img = $(container).find('img').first(); | ||
59 | + var check_img_url = base_url + '/img/' + $(container).attr('name'); | ||
60 | + | ||
61 | + if (isCheck) { | ||
62 | + check_img_url += '-icon-check.png'; | ||
63 | + } else { | ||
64 | + check_img_url += '-icon.png'; | ||
65 | + } | ||
66 | + _changeImage(img, check_img_url); | ||
67 | + } | ||
68 | + | ||
69 | + function _setupCheckIcon(option, isCheck, panel) { | ||
70 | + panel = typeof panel == 'undefined' ? '' : '[panel=' + panel + ']'; | ||
71 | + var icon_id = '.icon_container[name=' + option + ']' + panel; | ||
72 | + _enableIconCheck(icon_id, isCheck); | ||
73 | + $('.icon_container[name=' + option + ']' + panel).attr('complete', | ||
74 | + isCheck); | ||
75 | + } | ||
76 | + | ||
77 | + function _isSelectingState() { | ||
78 | + return $('#configuration-panel .icon_container[select=true]').length > 0; | ||
79 | + } | ||
80 | + | ||
81 | + function _isConfigurationComplete(config) { | ||
82 | + var baseId = '.subconfiguration-panel[mainConfig=' + config + ']'; | ||
83 | + var total_config = $(baseId | ||
84 | + + ' .icon_container[json_name][active=true]').length; | ||
85 | + var completed_config = $(baseId | ||
86 | + + ' .icon_container[active=true][complete=true]').length; | ||
87 | + return completed_config != 0 && total_config == completed_config; | ||
88 | + } | ||
89 | + | ||
90 | + function _canHover(el) { | ||
91 | + var incompleteConfig = typeof $(el).attr('complete') == 'undefined' | ||
92 | + || $(el).attr('complete') == 'false'; | ||
93 | + return (!_isSelectingState() && incompleteConfig) | ||
94 | + || (typeof $(el).attr('select') == 'undefined' && incompleteConfig); | ||
95 | + } | ||
96 | + | ||
97 | + function _getCurrentMainConfiguration() { | ||
98 | + return _isSelectingState() ? $( | ||
99 | + '#configuration-panel .icon_container[select=true]').attr( | ||
100 | + 'name') : ''; | ||
101 | + } | ||
102 | + | ||
103 | + function _addZoomInToAvatar(option, callback) { | ||
104 | + $('#avatar-default') | ||
105 | + .fadeOut( | ||
106 | + 500, | ||
107 | + function() { | ||
108 | + $('#avatar-container').removeClass('col-sm-7'); | ||
109 | + $('#avatar-container').addClass('col-sm-5'); | ||
110 | + $('#selection-container').removeClass('col-sm-2'); | ||
111 | + $('#selection-container').addClass('col-sm-4'); | ||
112 | + $('#avatar-container').removeClass( | ||
113 | + 'avatar-container-zoom-out'); | ||
114 | + $('#avatar-container').addClass( | ||
115 | + 'avatar-container-zoom-in'); | ||
116 | + $('#avatar-' + option).removeClass( | ||
117 | + 'avatar-img-zoom-out'); | ||
118 | + $('#avatar-' + option).fadeIn( | ||
119 | + 500, | ||
120 | + function() { | ||
121 | + $('#avatar-' + option).addClass( | ||
122 | + 'avatar-' + option | ||
123 | + + '-img-zoom-in'); | ||
124 | + callback(); | ||
125 | + }); | ||
126 | + }); | ||
127 | + } | ||
128 | + | ||
129 | + function _addZoomOutToAvatar(option, callback) { | ||
130 | + $('#avatar-' + option).fadeOut( | ||
131 | + 500, | ||
132 | + function() { | ||
133 | + $('#selection-container').removeClass('col-sm-4'); | ||
134 | + $('#selection-container').addClass('col-sm-2'); | ||
135 | + $('#avatar-container').removeClass('col-sm-5'); | ||
136 | + $('#avatar-container').addClass('col-sm-7'); | ||
137 | + $('#avatar-container').removeClass( | ||
138 | + 'avatar-container-zoom-in'); | ||
139 | + $('#avatar-container') | ||
140 | + .addClass('avatar-container-zoom-out'); | ||
141 | + $('#avatar-default').fadeIn( | ||
142 | + 500, | ||
143 | + function() { | ||
144 | + $('#avatar-' + option).removeClass( | ||
145 | + 'avatar-' + option + '-img-zoom-in'); | ||
146 | + $('#avatar-' + option).addClass( | ||
147 | + 'avatar-img-zoom-out'); | ||
148 | + callback(); | ||
149 | + }); | ||
150 | + }); | ||
151 | + } | ||
152 | + | ||
153 | + function _clearPreviousSelection() { | ||
154 | + $('.selection-panel-body').hide(); | ||
155 | + $('.subconfiguration-panel').hide(); | ||
156 | + | ||
157 | + if (_isSelectingState()) { | ||
158 | + var current_option = _getCurrentMainConfiguration(); | ||
159 | + _selectIcon(current_option, false); | ||
160 | + if (_isConfigurationComplete(current_option)) { | ||
161 | + _setupCheckIcon(current_option, true); | ||
162 | + } | ||
163 | + $('#avatar-' + current_option).fadeOut(500); | ||
164 | + } | ||
165 | + } | ||
166 | + | ||
167 | + function _showSelectionPanel(option) { | ||
168 | + _clearPreviousSelection(); | ||
169 | + _selectIcon(option, true); | ||
170 | + _setupGUIOnSelection(option, function() { | ||
171 | + dynworkflow.finishMainConfigSetup(option); | ||
172 | + }); | ||
173 | + dynworkflow.selectMainConfig(option); | ||
174 | + } | ||
175 | + | ||
176 | + function _hideSelectionPanel() { | ||
177 | + var config = _getCurrentMainConfiguration(); | ||
178 | + _deselectIcon(config); | ||
179 | + if (_isConfigurationComplete(config)) { | ||
180 | + _finishConfiguration(config, true); | ||
181 | + } else { | ||
182 | + _finishConfiguration(config, false); | ||
183 | + } | ||
184 | + | ||
185 | + _addZoomOutToAvatar(config, function() { | ||
186 | + $('#ready-button').fadeIn(300); | ||
187 | + $('.edit-container').fadeIn(300); | ||
188 | + }); | ||
189 | + $('#selection-panel').fadeOut(300); | ||
190 | + } | ||
191 | + | ||
192 | + function _canRenderSignVideo() { | ||
193 | + return _isConfigurationComplete('facial') | ||
194 | + && (_isConfigurationComplete('right-hand') || _isConfigurationComplete('left-hand')); | ||
195 | + } | ||
196 | + | ||
197 | + function _finishConfiguration(config, toFinish) { | ||
198 | + _setupCheckIcon(config, toFinish); | ||
199 | + _setupCheckIcon('avatar-' + config, toFinish); | ||
200 | + | ||
201 | + if (toFinish) { | ||
202 | + $('#' + config + '-edit .check-icon').show(); | ||
203 | + } else { | ||
204 | + $('#' + config + '-edit .check-icon').hide(); | ||
205 | + } | ||
206 | + if (_canRenderSignVideo()) { | ||
207 | + $('#ready-button').removeClass('disabled'); | ||
208 | + } else { | ||
209 | + $('#ready-button').addClass('disabled'); | ||
210 | + } | ||
211 | + } | ||
212 | + | ||
213 | + function _unfinishConfiguration(config, panel) { | ||
214 | + _setupCheckIcon(config, false, panel); | ||
215 | + _setupCheckIcon('avatar-' + config, false, panel); | ||
216 | + $('#' + config + '-edit .check-icon').hide(); | ||
217 | + | ||
218 | + if (!_canRenderSignVideo()) { | ||
219 | + $('#ready-button').addClass('disabled'); | ||
220 | + } | ||
221 | + } | ||
222 | + | ||
223 | + function _setupGUIOnSelection(option, finishCallback) { | ||
224 | + $('#ready-button').fadeOut(300); | ||
225 | + $('.edit-container').fadeOut(300); | ||
226 | + _addZoomInToAvatar(option, function() { | ||
227 | + $('#selection-panel').fadeIn(300, function() { | ||
228 | + finishCallback(); | ||
229 | + }); | ||
230 | + }); | ||
231 | + } | ||
232 | + | ||
233 | + function _setupConfigurationPanel() { | ||
234 | + $('.icon_container').off('mouseover').on('mouseover', function() { | ||
235 | + if (_canHover(this)) { | ||
236 | + _enableIconHover(this, true); | ||
237 | + } | ||
238 | + }); | ||
239 | + $('.icon_container').off('mouseout').on('mouseout', function() { | ||
240 | + if (_canHover(this)) { | ||
241 | + _enableIconHover(this, false); | ||
242 | + } | ||
243 | + }); | ||
244 | + $('.config-panel-option').off('click').on('click', function() { | ||
245 | + _showSelectionPanel($(this).attr('panel')); | ||
246 | + }); | ||
247 | + $('#minimize-icon-container').off('click').on('click', function() { | ||
248 | + $('#ref-video-container').hide(); | ||
249 | + $('#minimize-icon-container').hide(); | ||
250 | + $('#maximize-icon-container').show(); | ||
251 | + }); | ||
252 | + $('#maximize-icon-container').off('click').on('click', function() { | ||
253 | + $('#ref-video-container').show(); | ||
254 | + $('#maximize-icon-container').hide(); | ||
255 | + $('#minimize-icon-container').show(); | ||
256 | + }); | ||
257 | + } | ||
258 | + | ||
259 | + function _updateTempParameterJSON(mainConfig, subConfig, step, value) { | ||
260 | + var subConfigJSON = tmpParameterJSON[mainConfig][subConfig]; | ||
261 | + if (typeof subConfigJSON == 'undefined') { | ||
262 | + tmpParameterJSON[mainConfig][subConfig] = []; | ||
263 | + subConfigJSON = tmpParameterJSON[mainConfig][subConfig]; | ||
264 | + } | ||
265 | + | ||
266 | + subConfigJSON[parseInt(step) - 1] = value; | ||
267 | + } | ||
268 | + | ||
269 | + function _selectAnOption(parentId, el) { | ||
270 | + $(parentId + ' .selection-panel-option[select=true]').removeAttr( | ||
271 | + 'select'); | ||
272 | + $(el).attr('select', true); | ||
273 | + | ||
274 | + var mainConfig = $(parentId).attr('mainConfig'); | ||
275 | + var subConfig = $(parentId).attr('subConfig'); | ||
276 | + var step = $(parentId).attr('step'); | ||
277 | + _updateTempParameterJSON(mainConfig, subConfig, step, $(el).attr( | ||
278 | + 'value')); | ||
279 | + } | ||
280 | + | ||
281 | + function _setupSelectionPanel() { | ||
282 | + $('#selection-panel .x').off('click').on('click', function() { | ||
283 | + _hideSelectionPanel(); | ||
284 | + }); | ||
285 | + } | ||
286 | + | ||
287 | + // Render Screen | ||
288 | + function _submitParameterJSON(callback) { | ||
289 | + parsedParameterJSON = tmpJSONParser.parse(tmpParameterJSON); | ||
290 | + console.log(parsedParameterJSON); | ||
291 | + | ||
292 | + $.ajax({ | ||
293 | + type : 'POST', | ||
294 | + url : api_url + '/sign', | ||
295 | + data : JSON.stringify(parsedParameterJSON), | ||
296 | + contentType : 'application/json', | ||
297 | + success : function(response) { | ||
298 | + console.log(response); | ||
299 | + callback(); | ||
300 | + }, | ||
301 | + error : function(xhr, textStatus, error) { | ||
302 | + alert(xhr.responseText); | ||
303 | + } | ||
304 | + }); | ||
305 | + } | ||
306 | + | ||
307 | + function _getRenderedAvatarUrl(userId, signName) { | ||
308 | + return api_url + '/public/' + userId + '/' + signName + ".webm"; | ||
309 | + } | ||
310 | + | ||
311 | + function _showRenderedAvatar(parameterJSON) { | ||
312 | + var userId = parameterJSON['userId']; | ||
313 | + var signName = parameterJSON['sinal']; | ||
314 | + $("#render-avatar video").attr("src", | ||
315 | + _getRenderedAvatarUrl(userId, signName)); | ||
316 | + $("#render-avatar").fadeIn(300); | ||
317 | + } | ||
318 | + | ||
319 | + function _setupRenderScreen() { | ||
320 | + $("#configuration-screen").hide(); | ||
321 | + $("#render-avatar").hide(); | ||
322 | + $("#render-screen").show(); | ||
323 | + $("#render-loading").fadeIn(300); | ||
324 | + $("#render-ref video").prop("controls", false); | ||
325 | + $("#render-ref video").get(0).pause(); | ||
326 | + $("#render-button-container .btn").hide(); | ||
327 | + $("#finish-button").addClass("disabled"); | ||
328 | + $("#finish-button").show(); | ||
329 | + | ||
330 | + _submitParameterJSON(function() { | ||
331 | + $("#render-loading").fadeOut(300); | ||
332 | + $("#render-ref video").prop("controls", true); | ||
333 | + $("#render-ref video").get(0).play(); | ||
334 | + $("#finish-button").removeClass("disabled"); | ||
335 | + _showRenderedAvatar(parsedParameterJSON); | ||
336 | + }); | ||
337 | + } | ||
338 | + | ||
339 | + function _setupApprovalScreen(parameterJSON) { | ||
340 | + $("#render-button-container .btn").hide(); | ||
341 | + $("#approval-button").show(); | ||
342 | + $("#approval-msg").show(); | ||
343 | + $("#render-ref video").get(0).play(); | ||
344 | + | ||
345 | + _showRenderedAvatar(parameterJSON); | ||
346 | + $("#render-screen").fadeIn(300); | ||
347 | + } | ||
348 | + | ||
349 | + function _submitAnswer(task, deferred, status) { | ||
350 | + var answer = _createAnswer(task, status); | ||
351 | + if (status == "APPROVED") { | ||
352 | + _finishTask(task, deferred, answer); | ||
353 | + } else { | ||
354 | + _saveAnswer(task, deferred, answer); | ||
355 | + } | ||
356 | + $("#render-screen").hide(); | ||
357 | + $("#thanks-screen").show(); | ||
358 | + } | ||
359 | + | ||
360 | + function _clearGUI() { | ||
361 | + articulation.clean(); | ||
362 | + $(".selection-panel-option").removeAttr('select'); | ||
363 | + $(".icon_container").removeAttr("select"); | ||
364 | + $(".icon_container[complete=true]").each( | ||
365 | + function() { | ||
366 | + _unfinishConfiguration($(this).attr("name"), $(this).attr( | ||
367 | + "panel")); | ||
368 | + }); | ||
369 | + } | ||
370 | + | ||
371 | + function _setupMainScreen(task, deferred) { | ||
372 | + var last_answer = task.info.last_answer; | ||
373 | + var hasLastAnswer = typeof last_answer != "undefined"; | ||
374 | + if (hasLastAnswer) { | ||
375 | + _setupApprovalScreen(last_answer.parameter_json); | ||
376 | + } else { | ||
377 | + $("#initial-screen").fadeIn(300); | ||
378 | + } | ||
379 | + | ||
380 | + $("#start-button").off("click").on("click", function() { | ||
381 | + $("#initial-screen").hide(); | ||
382 | + $("#configuration-screen").show(); | ||
383 | + }); | ||
384 | + $("#ready-button").off("click").on("click", function() { | ||
385 | + if ($(this).hasClass('disabled')) { | ||
386 | + event.preventDefault(); | ||
387 | + return; | ||
388 | + } | ||
389 | + _setupRenderScreen(); | ||
390 | + }); | ||
391 | + $("#render-edit").off("click").on("click", function() { | ||
392 | + $("#render-screen").hide(); | ||
393 | + $("#configuration-screen").show(); | ||
394 | + }); | ||
395 | + $("#finish-button").off("click").on("click", function() { | ||
396 | + if ($(this).hasClass('disabled')) { | ||
397 | + event.preventDefault(); | ||
398 | + return; | ||
399 | + } | ||
400 | + _submitAnswer(task, deferred, "FINISHED"); | ||
401 | + }); | ||
402 | + $("#approval-button").off("click").on("click", function() { | ||
403 | + _submitAnswer(task, deferred, "APPROVED"); | ||
404 | + }); | ||
405 | + } | ||
406 | + | ||
407 | + function _setupGUI(task, deferred) { | ||
408 | + dynengine.load(); | ||
409 | + dynworkflow.load(); | ||
410 | + _clearGUI(); | ||
411 | + _setupConfigurationPanel(); | ||
412 | + _setupSelectionPanel(); | ||
413 | + _setupMainScreen(task, deferred); | ||
414 | + submitSign.setup(); | ||
415 | + } | ||
416 | + | ||
417 | + function _createAnswer(task, status) { | ||
418 | + var answer = {} | ||
419 | + answer["status"] = status; | ||
420 | + var last_answer = task.info.last_answer; | ||
421 | + var hasLastAnswer = typeof last_answer != "undefined"; | ||
422 | + | ||
423 | + if (hasLastAnswer && status == "APPROVED") { | ||
424 | + answer["number_of_approval"] = last_answer.number_of_approval + 1; | ||
425 | + answer["parameter_json"] = last_answer.parameter_json; | ||
426 | + } else { | ||
427 | + answer["number_of_approval"] = 0; | ||
428 | + answer["parameter_json"] = parsedParameterJSON; | ||
429 | + } | ||
430 | + return answer; | ||
431 | + } | ||
432 | + | ||
433 | + function _finishTask(task, deferred, answer) { | ||
434 | + $.ajax({ | ||
435 | + type : "POST", | ||
436 | + url : server_backend_url + "/finish_task", | ||
437 | + data : { | ||
438 | + "task_id" : task.id, | ||
439 | + "project_id" : task.project_id, | ||
440 | + "number_of_approval" : answer.number_of_approval, | ||
441 | + }, | ||
442 | + success : function(response) { | ||
443 | + _saveAnswer(task, deferred, answer); | ||
444 | + }, | ||
445 | + error : function(xhr, textStatus, error) { | ||
446 | + alert(xhr.responseText); | ||
447 | + } | ||
448 | + }); | ||
449 | + } | ||
450 | + | ||
451 | + function _saveAnswer(task, deferred, answer) { | ||
452 | + pybossa.saveTask(task.id, answer).done(function() { | ||
453 | + setTimeout(function() { | ||
454 | + $("#thanks-screen").hide(); | ||
455 | + deferred.resolve(); | ||
456 | + }, 2500); | ||
457 | + }); | ||
458 | + } | ||
459 | + | ||
460 | + function _showCompletedAllTaskMsg() { | ||
461 | + $("#completed-task-msg").hide(); | ||
462 | + $("#completed-all-task-msg").show(); | ||
463 | + $("#thanks-screen").fadeIn(300); | ||
464 | + // It removes the PyBossa default message | ||
465 | + $(".row .col-md-12 p").remove(); | ||
466 | + } | ||
467 | + | ||
468 | + pybossa.presentTask(function(task, deferred) { | ||
469 | + if (!$.isEmptyObject(task) && current_task_id != task.id) { | ||
470 | + _loadTaskInfo(task); | ||
471 | + _setupGUI(task, deferred) | ||
472 | + $("#main-container").fadeIn(500); | ||
473 | + } else { | ||
474 | + _showCompletedAllTaskMsg(); | ||
475 | + } | ||
476 | + }); | ||
477 | + | ||
478 | + // Private methods | ||
479 | + function _run(projectname) { | ||
480 | + pybossa.run(projectname); | ||
481 | + } | ||
482 | + | ||
483 | + // Public methods | ||
484 | + wikilibras.run = function(serverhost, serverbackend, projectname, apihost) { | ||
485 | + base_url = serverhost; | ||
486 | + server_backend_url = serverbackend; | ||
487 | + videos_url = base_url + "/videos/"; | ||
488 | + api_url = apihost; | ||
489 | + _run(projectname); | ||
490 | + }; | ||
491 | + | ||
492 | + wikilibras.updateTempParameterJSON = function(mainConfig, subConfig, step, | ||
493 | + value) { | ||
494 | + _updateTempParameterJSON(mainConfig, subConfig, step, value); | ||
495 | + } | ||
496 | + | ||
497 | + wikilibras.hideSelectionPanel = function() { | ||
498 | + _hideSelectionPanel(); | ||
499 | + } | ||
500 | + | ||
501 | + wikilibras.selectAnOption = function(parentId, el) { | ||
502 | + _selectAnOption(parentId, el); | ||
503 | + } | ||
504 | + | ||
505 | + wikilibras.enableIconHover = function(container, isHover) { | ||
506 | + _enableIconHover(container, isHover); | ||
507 | + } | ||
508 | + | ||
509 | + wikilibras.enableIconCheck = function(container, isHover) { | ||
510 | + _enableIconCheck(container, isHover); | ||
511 | + } | ||
512 | + | ||
513 | + wikilibras.showTeachContainer = function() { | ||
514 | + $(".sub-main-container").hide(); | ||
515 | + $("#teach-container").show(); | ||
516 | + } | ||
517 | + | ||
518 | + wikilibras.showSubmitSignContainer = function() { | ||
519 | + $(".sub-main-container").hide(); | ||
520 | + $("#submit-sign-container").show(); | ||
521 | + } | ||
522 | + | ||
523 | + wikilibras.showTeachedSignsContainer = function() { | ||
524 | + $(".sub-main-container").hide(); | ||
525 | + $("#teached-signs-container").show(); | ||
526 | + } | ||
527 | + | ||
528 | + wikilibras.showTutorialContainer = function() { | ||
529 | + $(".sub-main-container").hide(); | ||
530 | + $("#tutorial-container").show(); | ||
531 | + } | ||
532 | + | ||
533 | +}(window.wikilibras = window.wikilibras || {}, jQuery)); | ||
475 | \ No newline at end of file | 534 | \ No newline at end of file |
view/template.html
@@ -156,6 +156,10 @@ | @@ -156,6 +156,10 @@ | ||
156 | </div> | 156 | </div> |
157 | <div id="render-screen"> | 157 | <div id="render-screen"> |
158 | <div id="render-main" class="row"> | 158 | <div id="render-main" class="row"> |
159 | + <h4 id="approval-msg"> | ||
160 | + O sinal "<span class="sign-label"></span>" feito pelo avatar está | ||
161 | + correto? | ||
162 | + </h4> | ||
159 | <div id="render-ref" class="col-sm-6"> | 163 | <div id="render-ref" class="col-sm-6"> |
160 | <h6>Vídeo de referência</h6> | 164 | <h6>Vídeo de referência</h6> |
161 | <div class="col-sm-12"> | 165 | <div class="col-sm-12"> |
@@ -189,9 +193,11 @@ | @@ -189,9 +193,11 @@ | ||
189 | </div> | 193 | </div> |
190 | </div> | 194 | </div> |
191 | </div> | 195 | </div> |
192 | - <div class="row"> | 196 | + <div id="render-button-container" class="row"> |
193 | <div id="finish-button" class="btn btn-default pull-right disabled">ENVIAR | 197 | <div id="finish-button" class="btn btn-default pull-right disabled">ENVIAR |
194 | SINAL</div> | 198 | SINAL</div> |
199 | + <div id="approval-button" class="btn btn-default pull-right">CONFIRMAR | ||
200 | + SINAL</div> | ||
195 | </div> | 201 | </div> |
196 | </div> | 202 | </div> |
197 | <div id="thanks-screen"> | 203 | <div id="thanks-screen"> |
@@ -215,7 +221,8 @@ | @@ -215,7 +221,8 @@ | ||
215 | <form class="form-horizontal" method="post" | 221 | <form class="form-horizontal" method="post" |
216 | enctype="multipart/form-data"> | 222 | enctype="multipart/form-data"> |
217 | <div id="upload-success-msg" class="alert alert-success"> | 223 | <div id="upload-success-msg" class="alert alert-success"> |
218 | - <strong>Envio concluído, muito obrigado! Em breve o seu sinal estará no dicionário WikiLibras.</strong> | 224 | + <strong>Envio concluído, muito obrigado! Em breve o seu |
225 | + sinal estará no dicionário WikiLibras.</strong> | ||
219 | </div> | 226 | </div> |
220 | <fieldset> | 227 | <fieldset> |
221 | <h2>Sentiu falta de algum sinal no dicionário? Grave e envie o | 228 | <h2>Sentiu falta de algum sinal no dicionário? Grave e envie o |
wikilibras.py
@@ -87,12 +87,10 @@ class Wikilibras: | @@ -87,12 +87,10 @@ class Wikilibras: | ||
87 | task_id = request.form['task_id'] | 87 | task_id = request.form['task_id'] |
88 | project_id = request.form['project_id'] | 88 | project_id = request.form['project_id'] |
89 | number_of_approval = int(request.form['number_of_approval']) | 89 | number_of_approval = int(request.form['number_of_approval']) |
90 | - number_of_avatar_disapproval = int(request.form['number_of_avatar_disapproval']) | ||
91 | - number_of_ref_disapproval = int(request.form['number_of_ref_disapproval']) | ||
92 | agreement_number = self.config['AGREEMENT_NUMBER'] | 90 | agreement_number = self.config['AGREEMENT_NUMBER'] |
93 | result_msg = "" | 91 | result_msg = "" |
94 | code = 200 | 92 | code = 200 |
95 | - if (number_of_approval >= agreement_number or number_of_avatar_disapproval >= agreement_number or number_of_ref_disapproval >= agreement_number): | 93 | + if (number_of_approval >= agreement_number): |
96 | result_msg = self.__close_task(project_id, task_id) | 94 | result_msg = self.__close_task(project_id, task_id) |
97 | else: | 95 | else: |
98 | result_msg = "The task with ID=" + str(task_id) + " didn't reach the agreement number yet." | 96 | result_msg = "The task with ID=" + str(task_id) + " didn't reach the agreement number yet." |