diff --git a/db/stored/functions.sql b/db/stored/functions.sql index 764d603c54ca0db236fc7269c98fa9ccd28a45cb..746818f06b6f284efe00c07adb536ea6d5724ee7 100644 --- a/db/stored/functions.sql +++ b/db/stored/functions.sql @@ -2136,6 +2136,32 @@ BEGIN RETURN ROW_COUNT()-1; END// +# return StudentID or TeacherID depending on UserRoleID +DROP FUNCTION IF EXISTS GetUserStudentOrTeacherID// +CREATE FUNCTION GetUserStudentOrTeacherID ( + pAccountID INT(11), + pUserRoleID INT(11) +) RETURNS INT(11) +BEGIN + DECLARE vID INT DEFAULT -1; + + IF pUserRoleID = GetUserRole('student') THEN + SELECT students.ID + INTO vID + FROM students + WHERE students.AccountID = pAccountID + LIMIT 1; + ELSE + SELECT teachers.ID + INTO vID + FROM teachers + WHERE teachers.AccountID = pAccountID + LIMIT 1; + END IF; + + RETURN vID; +END// + # ------------------------------------------------------------------------------------------- diff --git a/db/stored/procedures.sql b/db/stored/procedures.sql index 6a9343519aad523c2ac4f970cb5f139ff5bb5552..0e645d37ad8ca4c980ffb3cae737b02a16ab150d 100644 --- a/db/stored/procedures.sql +++ b/db/stored/procedures.sql @@ -1394,8 +1394,9 @@ CREATE PROCEDURE GetRequests ( IN pAccountID INT, IN pFilter enum('opened','processed','closed','all')) BEGIN - SELECT requests.* - FROM requests + SELECT requests.*, GetUserFullNameByAccountID(accounts.ID) as FullName, accounts.UserRoleID, + GetUserStudentOrTeacherID(AccountID, accounts.UserRoleID) as PersonalID + FROM requests join accounts on requests.AccountID = accounts.ID WHERE IF(pFilter = 'all', TRUE, requests.Status = pFilter) AND requests.Title != '' AND requests.Description != '' diff --git a/media/less/support/requests.less b/media/less/support/requests.less index f18e4958f97d8f4ca4fe2e61cd3dc379ea713d00..673934fbb50bed39d83eab0bc65dc5152c648b34 100644 --- a/media/less/support/requests.less +++ b/media/less/support/requests.less @@ -3,9 +3,9 @@ } .RequestsPage { - height: 600px; + height: 650px; padding-right: 10px; - overflow-y: scroll; + overflow-y: auto; overflow-x: hidden; .RequestIssue { @@ -22,8 +22,14 @@ cursor: pointer; } + .RequestAuthor { + font-size: 1.1em; + font-weight: bold; + } + .RequestInfo { - font-size: 0.9em; + font-size: 0.8em; + margin-top: 4px; } } diff --git a/~dev_rating/application/views/office/support/requests.twig b/~dev_rating/application/views/office/support/requests.twig index e419cb23bd8010220768d0e0cbef07db3c0179ed..e192a0f502df7468787b62bb3ec2efc5a94fbff6 100644 --- a/~dev_rating/application/views/office/support/requests.twig +++ b/~dev_rating/application/views/office/support/requests.twig @@ -25,7 +25,12 @@ <div class="goodClearFix RequestIssue"> <div class="defaultForm FLeft P1Width"> <div id="{{ "requestTitle"~req.ID }}" class="RequestTitle">{{ req.Title }}</div> - <div class="RequestInfo">{{ req.Date }}</div> + {% if req.UserRoleID == 1 %}{% set role = "students/" %}{% else %}{% set role = "teachers/" %}{% endif %} + <div class="RequestInfo"> + <a class="RequestAuthor" href={{ URL.site("office/"~role~req.PersonalID) }} target="_blank"> + {{ req.FullName }}</a> + {{ req.Date }} + </div> </div> <select id="{{ "requestStatus"~req.ID }}" style="width: 10%" class="defaultForm FRight RequestStatus"> <option value="opened" {% if req.Status == 'opened'%}selected{% endif %}>Открыт</option>