From 849e724b99f893528f4b530d1e681e7b57aec93c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A8=D0=B0=D0=BB=D0=B8?=
 =?UTF-8?q?=D0=BC=D0=BE=D0=B2?= <solidovic@gmail.com>
Date: Mon, 1 Dec 2014 12:50:57 +0300
Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?=
 =?UTF-8?q?=D0=BA=D0=B0=20403=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86?=
 =?UTF-8?q?=D1=8B=20=D0=BF=D1=80=D0=B8=20=D0=BE=D1=86=D0=B5=D0=BD=D0=B8?=
 =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B8=20=D0=BD=D0=B0=20jquery=20=D0=B2?=
 =?UTF-8?q?=D1=80=D0=B5=D0=BC=D1=8F=20=D0=B6=D0=B8=D0=B7=D0=BD=D0=B8=20?=
 =?UTF-8?q?=D1=81=D0=B5=D1=81=D1=81=D0=B8=D0=B8=2060=20=D1=81=D0=B5=D0=BA?=
 =?UTF-8?q?=D1=83=D0=BD=D0=B4.=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D1=82?=
 =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?=
 =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=80=D0=BD=D1=83=D1=82=D1=8C=20900=20?=
 =?UTF-8?q?=D1=81=D0=B5=D0=BA=D1=83=D0=BD=D0=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ~dev_rating/media/js/rating.js                | 38 +++++++++++--------
 .../modules/account/classes/Kohana/User.php   |  2 +-
 2 files changed, 23 insertions(+), 17 deletions(-)

diff --git a/~dev_rating/media/js/rating.js b/~dev_rating/media/js/rating.js
index 9bf8372df..baa89799b 100644
--- a/~dev_rating/media/js/rating.js
+++ b/~dev_rating/media/js/rating.js
@@ -115,34 +115,40 @@ $(function() {
         if (rateResult > 100) {
             jThis.children("input").val(oldRate);
             EventInspector_ShowMsg("Сумма баллов не может привышать 100", "error");
+            jThis.children("input").removeAttr("disabled");
         }
         else 
         {
             if (newRate <= g_submoduleMaxRate) 
             {
-                $.post(
-                    URLdir + "handler/rating/setRate",
-                    {   
-                        "student": g_studentID,
-                        "submodule": g_submoduleID,
-                        "rate": newRate
-                    },
-                    function(data){
-                        data = $.parseJSON(data);
-                        if(data.success === true) {
-                            jThis.siblings(".RateResult").text(rateResult);
-                            EventInspector_ShowMsg("Балл добавлен/изменен", "success");
-                        }
-                        else EventInspector_ShowMsg("Не удалось добавить/изменить балл", "error");
-                        jThis.children("input").removeAttr("disabled");
+                $.ajax({
+                    type: "POST",
+                    url: URLdir + "handler/rating/setRate",
+                    data: "student="+g_studentID+"&submodule="+g_submoduleID+"&rate="+newRate,
+                    statusCode: {
+                       403: function() { 
+                            EventInspector_ShowMsg("Сессия истекла", "error");
+                            jThis.children("input").val(oldRate);
+                            jThis.children("input").removeAttr("disabled");
+                       },
+                       200: function(data) {
+                            data = $.parseJSON(data);
+                            if(data.success === true) {
+                                jThis.siblings(".RateResult").text(rateResult);
+                                EventInspector_ShowMsg("Балл добавлен/изменен", "success");
+                            }
+                            else EventInspector_ShowMsg("Не удалось добавить/изменить балл", "error");
+                            jThis.children("input").removeAttr("disabled");
+                       }
                     }
-                );
+                });
             } 
             else {
                 if (oldRate <= g_submoduleMaxRate)
                     jThis.children("input").val(oldRate);
                 else
                     jThis.children("input").val("0");
+
                 EventInspector_ShowMsg("Текущий балл превышает максимальный для данного модуля", "error");
                 jThis.children("input").removeAttr("disabled");
             }
diff --git a/~dev_rating/modules/account/classes/Kohana/User.php b/~dev_rating/modules/account/classes/Kohana/User.php
index d3ffb1063..33e327aa6 100644
--- a/~dev_rating/modules/account/classes/Kohana/User.php
+++ b/~dev_rating/modules/account/classes/Kohana/User.php
@@ -8,7 +8,7 @@ class Kohana_User implements ArrayAccess {
     protected $_model;
     protected $_userInfo;
 
-    const SESSION_LIFETIME = 900; //seconds
+    const SESSION_LIFETIME = 60; //seconds
 
     /**
      * Вовзращает экземпляр класса (singleton-паттерн)
-- 
GitLab