diff --git a/db/StoredFunctions.sql b/db/StoredFunctions.sql index 251aed9cd7db4d1224e70800c51366ceb447b0b9..6f528bb8e0f0ab39a3e88203563492d8c0e2dccd 100644 --- a/db/StoredFunctions.sql +++ b/db/StoredFunctions.sql @@ -668,7 +668,7 @@ CREATE FUNCTION `CreateStudent` ) RETURNS int(11) NO SQL BEGIN - DECLARE vAccountID, vGroupID, vStudentID INT DEFAULT -1; + DECLARE vAccountID, vGroupID, vStudentID, vSemesterID INT DEFAULT -1; DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1; # find group @@ -693,10 +693,16 @@ BEGIN (AccountID, LastName, FirstName, SecondName) VALUES (vAccountID, pLastName, pFirstName, pSecondName); + + SELECT general_settings.Val INTO vSemesterID + FROM `general_settings` + WHERE general_settings.Name = 'SemesterID' + LIMIT 1; + # bind group in current semester INSERT INTO `students_groups` (StudentID, GroupID, SemesterID) - VALUES (LAST_INSERT_ID(), vGroupID, @CurrentSemesterID); + VALUES (LAST_INSERT_ID(), vGroupID, vSemesterID); RETURN 0; END // @@ -767,24 +773,7 @@ BEGIN SET vGroupID = LAST_INSERT_ID(); END IF; - # TODO: user roles - # create account - INSERT INTO `accounts` - (Login, Password , EMail, UserRoleID, ActivationCode ) - VALUES ( NULL, NULL, NULL, 1, pActivationCode); - SET vAccountID = LAST_INSERT_ID(); - - # create student - INSERT INTO `students` - (AccountID, LastName, FirstName, SecondName) - VALUES (vAccountID, pLastName, pFirstName, pSecondName); - - # bind group in current semester - INSERT INTO `students_groups` - (StudentID, GroupID, SemesterID) - VALUES (LAST_INSERT_ID(), vGroupID, @CurrentSemesterID); - - RETURN ROW_COUNT()-1; + RETURN CreateStudent(pLastName, pFirstName, pSecondName, vGradeID, pGroupNum, pFacultyID, pActivationCode); END // @@ -2210,17 +2199,18 @@ DROP FUNCTION IF EXISTS CreateRecoveryToken// CREATE FUNCTION `CreateRecoveryToken` ( `pAccountOrEMail` VARCHAR(255) CHARSET utf8, `pToken` VARCHAR(100) CHARSET utf8 - ) RETURNS VARCHAR(255) charset utf8 + ) RETURNS VARCHAR(255) charset utf8 NO SQL BEGIN DECLARE vAccountID INT DEFAULT -1; - DECLARE vUserFullName TEXT; - DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1; + DECLARE vUserFullName TEXT charset utf8; + DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -2; # get account ID SELECT accounts.ID INTO vAccountID FROM `accounts` - WHERE accounts.EMail = pAccountOrEMail + WHERE accounts.EMail = pAccountOrEMail OR + accounts.Login = pAccountOrEMail LIMIT 1; IF vAccountID <= 0 THEN RETURN ''; @@ -2234,12 +2224,13 @@ BEGIN # transform all unused recovery tokens into used UPDATE `recovery_tokens` SET recovery_tokens.isUsed = 1 - WHERE recovery_tokens.isUsed = 0; + WHERE recovery_tokens.isUsed = 0 AND + recovery_tokens.AccountID = vAccountID; # handle catch constraints violations INSERT INTO `recovery_tokens` - (AccountID, Token ) - VALUES (vAccountID, Token); + ( AccountID, Token ) + VALUES (vAccountID, pToken); RETURN vUserFullName; END// @@ -2248,7 +2239,7 @@ CREATE FUNCTION `GetUserFullNameByAccountID` ( `pAccountID` INT(11)) RETURNS VARCHAR(255) charset utf8 NO SQL BEGIN - DECLARE vUserFullName VARCHAR(255); + DECLARE vUserFullName VARCHAR(255) charset utf8; DECLARE vChecker INT DEFAULT -1; SELECT students.ID As ID, CONCAT(students.LastName,' ',students.FirstName,' ',students.SecondName) As UserName diff --git a/~dev_rating/media/js/discipline/EditStudents.js b/~dev_rating/media/js/discipline/EditStudents.js index 1e4e653dcecf97d33d01a7157ab5052c766aa98e..333cc1a6a982ec4c168e4d8c559cf8ee589fb395 100644 --- a/~dev_rating/media/js/discipline/EditStudents.js +++ b/~dev_rating/media/js/discipline/EditStudents.js @@ -91,7 +91,8 @@ $(function() { }, function(searchResult){ var searchResult = $.parseJSON(searchResult); - var i = 0; + console.log(searchResult); + var i = -1; jSearchResult.html(""); var jClone = jSearchResult.clone(); @@ -112,7 +113,7 @@ $(function() { jCurGroup.append(jTempStudent); } - if (i <= 0) { + if (searchResult.length <= 0) { jSearchResult.append(jStudentEmptyPrototype.clone()); } else { jSearchResult.replaceWith(jClone); diff --git a/~dev_rating/media/js/rating.js b/~dev_rating/media/js/rating.js index dd5740410a2ecf72f519cc796ac01af0382b5dbe..d8539aea6d68c82460daf59f5d05f9590195625c 100644 --- a/~dev_rating/media/js/rating.js +++ b/~dev_rating/media/js/rating.js @@ -188,6 +188,9 @@ $(function() { var newRate = 0; if (jThis.children("input").val() !== "") newRate = parseInt(jThis.children("input").val()); + if (newRate == oldRate) + return; + var rateResult = newRate; // считаем баллы по строке @@ -321,20 +324,8 @@ $(function() { $(".commonCell").focusout(function(){ g_isFocusCell = false; - var newRate = 0; - - //alert(123); - if ($(this).children("input").val() !== "") - { - - newRate = parseInt($(this).children("input").val()); - - if (newRate != oldRate) - { - Rating($(this), oldRate); - } - } - + Rating($(this), oldRate); + TdUnFocus(); UnsetTdInfo($(this)); controlRowVisualization($(this).parent());