# coding: utf-8 import json from java.util import ArrayList from nci._nci_orm import education_formCursor from edu._edu_orm import course_edu_formCursor try: from ru.curs.showcase.core.jython import JythonDTO from ru.curs.showcase.core.jython import JythonDownloadResult from ru.curs.showcase.core.selector import ResultSelectorData from ru.beta2.extra.gwt.ui.selector.api import DataRecord except: from ru.curs.celesta.showcase import JythonDTO def procListAndCount(context, main=None, add=None, filterinfo=None, session=None, params=None, curValue=None, startsWith=None, firstRecord=None, recordCount=None): session = json.loads(session) course_edu_form = course_edu_formCursor(context) gridContext = session["sessioncontext"]["related"]["gridContext"] # for grid in gridContext: # if grid["@id"] == "courseGrid": # course_id = grid["selectedRecordId"] course_id = main course_edu_form.setRange("course_id",course_id) forms = [] if course_edu_form.count() > 0: for form in course_edu_form.iterate(): forms.append(form.edu_form_id) data = procList(context, session, forms, firstRecord, recordCount) count = procCount(forms) return ResultSelectorData(data.getDataRecordList(), count.getCount()) def procCount(forms): count = len(forms) return ResultSelectorData(None, count) def procList(context, session, forms, firstRecord, recordCount): education_form = education_formCursor(context) education_form.limit(firstRecord, recordCount) recordList = ArrayList() if forms: for id in forms: rec = DataRecord() education_form.get(id) rec.id = str(id) rec.name = education_form.name recordList.add(rec) return ResultSelectorData(recordList, 0)