1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# coding: utf-8
'''
Created on 11.01.2018
@author: dgulyakin
'''
import json
from ru.curs.celesta.showcase.utils import XMLJSONConverter
from edu._edu_orm import edu_group_personsCursor, educational_groupCursor
from qt.functions import completeTest
try:
from ru.curs.showcase.core.jython import JythonDTO
except:
from ru.curs.celesta.showcase import JythonDTO
def cardData(context, main=None, add=None, filterinfo=None, session=None, elementId=None):
u'''Карточка завершения тестирования'''
xformsdata = {"schema": {
"@xmlns":"",
"group_id": add,
'data': {
'form_text' : u'Вы действительно хотите завершить тестирование?',
'enable_delete': 'true'}}}
xformssettings = {"properties": {
"event": [
{"@name":"single_click",
"@linkId": "1",
"action": {
'#sorted': [
{"main_context": "current"},
{"datapanel": {"@type": "current",
"@tab": "current",
"element": {
"@id":"testGroupsGrid",
"add_context": add}}}]}}]}}
return JythonDTO(XMLJSONConverter.jsonToXml(json.dumps(xformsdata)),
XMLJSONConverter.jsonToXml(json.dumps(xformssettings)))
def cardDataSave(context, main=None, add=None, filterinfo=None, session=None, elementId=None, xformsdata=None):
u'''Сохранение завершения тестирования'''
group_id = int(json.loads(xformsdata)['schema']['group_id'])
groupCur = educational_groupCursor(context)
if groupCur.tryGet(group_id):
personsCur = edu_group_personsCursor(context)
personsCur.setRange('group_id', group_id)
for person in personsCur.iterate():
if person.variant_id:
completeTest(context, person.variant_id)
personsCur.close()
groupCur.status = 31
groupCur.update()
groupCur.close()