Skip to content
Snippets Groups Projects
Commit 7083e5f9 authored by Anton Bagliy's avatar Anton Bagliy
Browse files

WIP: discipline tree in final form export view #284

parent b917a69e
Branches
Tags
No related merge requests found
"use strict"; "use strict";
$(document).ready(()=>{ $(document).ready(() => {
let settings = getSettings(); let settings = getSettings();
const pathToSfeduAPIAdapter = $('#sync_api_url').html().trim();
$(function () { $('#groupTree').jstree(); }); $(function () {
$('#groupTree').jstree(
{
"core": {
// so that create works
"check_callback": true,
error: function (err) {
console.log(err);
}
},
},
);
}
);
$('#groupTree').on("changed.jstree", function (e, data) { $('#groupTree').on("changed.jstree", function (e, data) {
console.log(data.selected); const singleNumRegexp = /\w_(\d+)/;
});
const parseClass = function (str) {
singleNumRegexp.lastIndex = 0;
let foundMatch = singleNumRegexp.exec(str);
return foundMatch ? parseInt(foundMatch[1]) : 0;
};
let groupID = parseClass(data.selected[0]);
let getDisciplines = function (groupID, url, onSuccess, onFail, successText, errorText) {
$.post(g_URLdir + url, {groupID: groupID}).success((disciplines) => {
Popup.success(successText);
onSuccess(JSON.parse(JSON.parse(disciplines).response));
}).fail(jqXHR => {
onFail();
const status = parseInt(jqXHR.status);
let message = errorText;
try {
if (status === 400)
message = JSON.parse(jqXHR.responseText).message;
} catch (error) {
}
if (status !== 0)
Popup.error(message);
});
};
getDisciplines(groupID, 'handler/discipline/getDisciplinesForGroup',
function (disciplines) {
jQuery.each(disciplines, function (i, val) {
$("#" + i).append(document.createTextNode(" - " + val));
$('#groupTree').jstree().create_node(data.selected, {
"id": val.ID,
"text": val.SubjectName,
}, "last");
});
},
function () {
}, "дисциплины загрузились", "ошибка");
})
// $('#syncInnerDepartments').click(()=>{ // $('#syncInnerDepartments').click(()=>{
// $.get(pathToSfeduAPIAdapter + 'subdivisions/inner'); // $.get(pathToSfeduAPIAdapter + 'subdivisions/inner');
......
...@@ -120,6 +120,18 @@ class Controller_Handler_Discipline extends Controller_Handler_Api ...@@ -120,6 +120,18 @@ class Controller_Handler_Discipline extends Controller_Handler_Api
return json_encode(Model_Teacher::with($teacherID)->getSimilarDisciplines($subjectID)); return json_encode(Model_Teacher::with($teacherID)->getSimilarDisciplines($subjectID));
} }
public function action_getDisciplinesForGroup() {
$groupID = $this->request->post('groupID');
$semesterID = User::instance()->SemesterID;
$students = Model_Students::ofGroup($groupID, $semesterID);
// TODO: refactor after new groups implemented
$disciplines = Model_Group::with($groupID)->getDisciplines(false, $semesterID);
$disciplines = Arr::groupByUniqueKey('ID', $disciplines);
//$discWithCompounds = self::processCompounds($disciplines);
return json_encode($disciplines);
}
/** /**
* @return Model_Discipline * @return Model_Discipline
*/ */
......
...@@ -37,21 +37,4 @@ class Controller_Office_Export extends Controller_Environment_Office ...@@ -37,21 +37,4 @@ class Controller_Office_Export extends Controller_Environment_Office
]); ]);
} }
public function action_show() {
$semesterID = User::instance()->SemesterID;
//$facultyID = User::instance()->Faculty->ID;
$groupID = $this->request->post('groupID');
$students = Model_Students::ofGroup($groupID, $semesterID);
// TODO: refactor after new groups implemented
$disciplines = Model_Group::with($groupID)->getDisciplines(false, $semesterID);
$disciplines = Arr::groupByUniqueKey('ID', $disciplines);
//$discWithCompounds = self::processCompounds($disciplines);
$this->twig->set_filename(static::OFFICE . 'export')
->set([
'Disciplines' => $disciplines,
]);
}
} }
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
{{ degreeTitle }} {{ grade_num }} курс {{ degreeTitle }} {{ grade_num }} курс
<ul> <ul>
{% for group in grade["groups"] %} {% for group in grade["groups"] %}
<li id = Group_{{ grade["grade_id"] }}_{{ group["GroupNum"] }}> <li id = group_{{ group["ID"] }} class="grade_{{ grade["grade_id"] }} group_{{ group["ID"] }}">
{{ group["SpecName"] }} {{ group["GroupNum"] }} {{ group["SpecName"] }} {{ group["GroupNum"] }}
</li> </li>
{% endfor %} {% endfor %}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment