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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# coding: utf-8
'''
Created on 09.01.2018 г.
@author: dgulyakin
'''
from __builtin__ import None
import json
from datetime import datetime
from java.text import SimpleDateFormat
from ru.curs.celesta.showcase.utils import XMLJSONConverter
from nci._nci_orm import personCursor
from common.numbersseries.getNextNo import getNextNoOfSeries
try:
from ru.curs.showcase.core.jython import JythonDTO
except:
from ru.curs.celesta.showcase import JythonDTO
from edu._edu_orm import educational_groupCursor, edu_group_personsCursor
def cardData(context, main=None, add=None, filterinfo=None, session=None, elementId=None):
u'''Карточка добавления слушателей в группу тестирования'''
group_id = add
group_name = u''
groupsCur = educational_groupCursor(context)
if groupsCur.tryGet(group_id):
group_name = groupsCur.group_name
xformsdata = {"schema": {
"@xmlns":"",
"group_id": group_id,
"group_name": group_name,
"persons": {
'person': {
'patronymic': u'',
'phone': u'',
'surname': u'',
'name': u''}},
"person_template": {
'person': {
'patronymic': u'',
'phone': u'',
'surname': u'',
'name': u''}}}}
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'''Сохранение глобальных параметров'''
data_dict = json.loads(xformsdata)["schema"]
personCur = personCursor(context)
group_personsCur = edu_group_personsCursor(context)
group_id = data_dict['group_id']
persons = data_dict['persons']['person']
if not isinstance(persons, list):
persons = [persons]
for person in persons:
surname = person['surname']
name = person['name']
patronymic = person['patronymic']
personCur.clear()
personCur.uid = getNextNoOfSeries(context, 'persons')
personCur.surname = surname
personCur.name = name
personCur.patronymic = patronymic
personCur.fullname = u'{} {}{}'.format(surname, name, u' {}'.format(patronymic) if patronymic else u'')
personCur.phone = person['phone']
personCur.insert()
person_id = personCur.uid
group_personsCur.group_person_id = None
group_personsCur.group_id = group_id
group_personsCur.person_id = person_id
group_personsCur.insert()
group_personsCur.close()
personCur.close()