From 2dc08a53290eda5a66465644b2b021e1521000f4 Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Wed, 23 Jul 2014 15:00:21 +0200 Subject: [PATCH 1/7] PHRAS-212 #fix oauth authorisaton confimation --- lib/Alchemy/Phrasea/Controller/Api/Oauth2.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php b/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php index fbcfec1cdb..982b1e8513 100644 --- a/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php +++ b/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php @@ -90,9 +90,9 @@ class Oauth2 implements ControllerProviderInterface } $app['authentication']->openAccount(\User_Adapter::getInstance($usr_id, $app)); + } else { + return new Response($app['twig']->render($template, array("auth" => $oauth2_adapter))); } - - return new Response($app['twig']->render($template, array("auth" => $oauth2_adapter))); } //check if current client is already authorized by current user From 94e502c12b3f99f509e4d8024a8c18fdca889f3b Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Wed, 23 Jul 2014 15:31:41 +0200 Subject: [PATCH 2/7] PHRAS-211 #fix status not applied --- templates/web/client/answers.html.twig | 2 +- templates/web/prod/results/record.html.twig | 2 +- templates/web/prod/upload/upload.html.twig | 16 +++++++++++----- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/templates/web/client/answers.html.twig b/templates/web/client/answers.html.twig index 06cf2cf43d..a6cfb771d8 100644 --- a/templates/web/client/answers.html.twig +++ b/templates/web/client/answers.html.twig @@ -144,7 +144,7 @@ {% else %} {% endif %} -
+
{{ record.get_title() }}
{{ record.get_status_icons()|raw }}
diff --git a/templates/web/prod/results/record.html.twig b/templates/web/prod/results/record.html.twig index 352f68f294..f2c96a2175 100644 --- a/templates/web/prod/results/record.html.twig +++ b/templates/web/prod/results/record.html.twig @@ -21,7 +21,7 @@ onDblClick="openPreview('RESULT',{{record.get_number}});"> {% endif %}
-
+
{{ record.get_title() }}
diff --git a/templates/web/prod/upload/upload.html.twig b/templates/web/prod/upload/upload.html.twig index f40b31bf09..5c153c36b2 100644 --- a/templates/web/prod/upload/upload.html.twig +++ b/templates/web/prod/upload/upload.html.twig @@ -394,13 +394,19 @@ $(document).ready(function () { //on submit file $('#fileupload', UploaderManager.getContainer()).bind('fileuploadsubmit', function (e, data) { var $this = $(this); + var params = []; + data.formData = []; //get form datas attached to the file - data.formData = $.extend( - data.context.find('input, select').serializeArray(), - $("input", $('.collection-status:visible', UploaderManager.getSettingsBox())).serializeArray(), - $("select", UploaderManager.getSettingsBox()).serializeArray() - ); + params.push(data.context.find('input, select').serializeArray()); + params.push($("input", $('.collection-status:visible', UploaderManager.getSettingsBox())).serializeArray()); + params.push($("select", UploaderManager.getSettingsBox()).serializeArray()); + + $.each(params, function(i, p) { + $.each(p, function (i, f){ + data.formData.push(f); + }); + }); data.formData.push({ "name": "b64_image", From 73ebd220a88e117c3777481674cd2894c055dbe9 Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Wed, 23 Jul 2014 16:01:59 +0200 Subject: [PATCH 3/7] PHRAS-204 #fix cache icon status --- lib/classes/databox/status.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/classes/databox/status.php b/lib/classes/databox/status.php index 8dc5da54d6..b51328a3e3 100644 --- a/lib/classes/databox/status.php +++ b/lib/classes/databox/status.php @@ -110,11 +110,11 @@ class databox_status $this->status[$bit]["img_on"] = null; if (is_file($path . "-stat_" . $bit . "_0.gif")) { - $this->status[$bit]["img_off"] = $url . "-stat_" . $bit . "_0.gif"; + $this->status[$bit]["img_off"] = $url . "-stat_" . $bit . "_0.gif?etag=".md5_file($path . "-stat_" . $bit . "_0.gif"); $this->status[$bit]["path_off"] = $path . "-stat_" . $bit . "_0.gif"; } if (is_file($path . "-stat_" . $bit . "_1.gif")) { - $this->status[$bit]["img_on"] = $url . "-stat_" . $bit . "_1.gif"; + $this->status[$bit]["img_on"] = $url . "-stat_" . $bit . "_1.gif?etag=".md5_file($path . "-stat_" . $bit . "_1.gif"); $this->status[$bit]["path_on"] = $path . "-stat_" . $bit . "_1.gif"; } From c8c10f2776417127e86f9cd62d6e99d73a54cfbb Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Wed, 23 Jul 2014 16:32:14 +0200 Subject: [PATCH 4/7] PHRAS-205 #fix validation reorder --- lib/Alchemy/Phrasea/Controller/Prod/Basket.php | 8 ++++++++ www/skins/prod/jquery.WorkZone.js | 6 ++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Prod/Basket.php b/lib/Alchemy/Phrasea/Controller/Prod/Basket.php index 89b1660637..986c98584e 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/Basket.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/Basket.php @@ -234,14 +234,22 @@ class Basket implements ControllerProviderInterface { $basket = $app['EM']->getRepository('\Entities\Basket') ->findUserBasket($app, $basket_id, $app['authentication']->getUser(), true); + $basketElement = $app['EM']->getRepository('\Entities\BasketElement') + ->find($basket_element_id); + $ord = $basketElement->getOrd(); foreach ($basket->getElements() as $basket_element) { + if ($basket_element->getOrd() > $ord) { + $basket_element->setOrd($basket_element->getOrd() - 1); + } /* @var $basket_element \Entities\BasketElement */ if ($basket_element->getId() == $basket_element_id) { + $basket->removeElement($basket_element); $app['EM']->remove($basket_element); } } + $app['EM']->persist($basket); $app['EM']->flush(); $data = array( diff --git a/www/skins/prod/jquery.WorkZone.js b/www/skins/prod/jquery.WorkZone.js index 63a137dee9..810d1886d4 100644 --- a/www/skins/prod/jquery.WorkZone.js +++ b/www/skins/prod/jquery.WorkZone.js @@ -155,6 +155,8 @@ var p4 = p4 || {}; } selectedItem.remove(); + } else { + return p4.WorkZone.reloadCurrent(); } } else { humane.error(data.message); @@ -308,8 +310,8 @@ var p4 = p4 || {}; $('a.WorkZoneElementRemover', dest).bind('mousedown',function (event) { return false; }).bind('click', function (event) { - return WorkZoneElementRemover($(this), false); - }); + return WorkZoneElementRemover($(this), false); + }); dest.droppable({ accept: function (elem) { From 12ae2c824543f857e07d5fde4893f63685b79441 Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Wed, 23 Jul 2014 19:21:13 +0200 Subject: [PATCH 5/7] PHRAS-187 #fix push name validation --- www/skins/prod/jquery.Feedback.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/www/skins/prod/jquery.Feedback.js b/www/skins/prod/jquery.Feedback.js index 6268170163..96a142fc18 100644 --- a/www/skins/prod/jquery.Feedback.js +++ b/www/skins/prod/jquery.Feedback.js @@ -149,13 +149,13 @@ buttons[language.send] = function () { if ($.trim($('input[name="name"]', $dialog.getDomElement()).val()) === '') { - options = { + var options = { size: 'Alert', closeButton: true, title: language.warning - }, - $dialog = p4.Dialog.Create(options, 3); - $dialog.setContent(language.FeedBackNameMandatory); + } + var $dialogAlert = p4.Dialog.Create(options, 3); + $dialogAlert.setContent(language.FeedBackNameMandatory); return false; } From 8de09ac15a55babac1dce84ce5e2db4ea2555059 Mon Sep 17 00:00:00 2001 From: Nicolas Le Goff Date: Wed, 23 Jul 2014 19:21:33 +0200 Subject: [PATCH 6/7] PHRAS-96 PHRAS-81 #fix oauth authentication connection msg --- lib/Alchemy/Phrasea/Controller/Api/Oauth2.php | 16 +++++++--------- .../api/auth/end_user_authorization.html.twig | 5 +++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php b/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php index 982b1e8513..4d80b28015 100644 --- a/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php +++ b/lib/Alchemy/Phrasea/Controller/Api/Oauth2.php @@ -49,7 +49,7 @@ class Oauth2 implements ControllerProviderInterface $params = $oauth2_adapter->getAuthorizationRequestParameters($request); $app_authorized = false; - $errorMessage = false; + $error = $request->get('error', ''); $client = \API_OAuth2_Application::load_from_client_id($app, $params['client_id']); @@ -79,26 +79,24 @@ class Oauth2 implements ControllerProviderInterface $usr_id = $app['auth.native']->getUsrId($request->get("login"), $request->get("password"), $request); if (null === $usr_id) { - $app['session']->getFlashBag()->set('error', _('login::erreur: Erreur d\'authentification')); - return $app->redirectPath('oauth2_authorize'); + return $app->redirectPath('oauth2_authorize', array_merge(array('error' => 'login'), $params)); } } catch (RequireCaptchaException $e) { - return $app->redirectPath('oauth2_authorize', array('error' => 'captcha')); + return $app->redirectPath('oauth2_authorize', array_merge(array('error' => 'captcha'), $params)); } catch (AccountLockedException $e) { - return $app->redirectPath('oauth2_authorize', array('error' => 'account-locked')); + return $app->redirectPath('oauth2_authorize', array_merge(array('error' => 'account-locked'), $params)); } $app['authentication']->openAccount(\User_Adapter::getInstance($usr_id, $app)); } else { - return new Response($app['twig']->render($template, array("auth" => $oauth2_adapter))); + return new Response($app['twig']->render($template, array('error' => $error, "auth" => $oauth2_adapter))); } } //check if current client is already authorized by current user $user_auth_clients = \API_OAuth2_Application::load_authorized_app_by_user( - $app - , $app['authentication']->getUser() + $app, $app['authentication']->getUser() ); foreach ($user_auth_clients as $auth_client) { @@ -114,7 +112,7 @@ class Oauth2 implements ControllerProviderInterface if (!$app_authorized && $action_accept === null) { $params = array( "auth" => $oauth2_adapter, - "errorMessage" => $errorMessage, + "error" => $error, ); return new Response($app['twig']->render($template, $params)); diff --git a/templates/web/api/auth/end_user_authorization.html.twig b/templates/web/api/auth/end_user_authorization.html.twig index dd45fb90ef..0b47e45810 100644 --- a/templates/web/api/auth/end_user_authorization.html.twig +++ b/templates/web/api/auth/end_user_authorization.html.twig @@ -39,8 +39,9 @@ {% for key,value in auth.getParams %} {% endfor %} - {% if errorMessage is defined %} - + {% if error == 'login' %} +
+

{% trans 'Erreur de login / mot de passe' %}

{% endif %}
{% endif %} diff --git a/www/skins/prod/jquery.Feedback.js b/www/skins/prod/jquery.Feedback.js index 96a142fc18..055a27ea8c 100644 --- a/www/skins/prod/jquery.Feedback.js +++ b/www/skins/prod/jquery.Feedback.js @@ -514,7 +514,7 @@ var options = { cancelButton: true, buttons: buttons, - size: 'Alert' + size: '700x170' }; p4.Dialog.Create(options, 2).setContent(box); @@ -626,7 +626,7 @@ $('button.deleter', $container).bind('click', function (event) { - var list_id = $(this).find('input[name=list_id]').val(); + var list_id = $(this).data("list-id"); var makeDialog = function (box) {
-