first version

This commit is contained in:
L_DA 2020-11-17 16:40:21 +00:00
parent 83a8dc5d90
commit 52f3f359af
10 changed files with 633 additions and 344 deletions

View file

@ -66,6 +66,34 @@
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
<TABLE NAME="timetable_absence" COMMENT="Absences">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
<FIELD NAME="type" TYPE="char" LENGTH="1" NOTNULL="true" SEQUENCE="false" COMMENT="Element type"/>
<FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="Shortname of absence element"/>
<FIELD NAME="startdate" TYPE="int" LENGTH="8" NOTNULL="true" SEQUENCE="false" COMMENT="Date of start of absence"/>
<FIELD NAME="enddate" TYPE="int" LENGTH="8" NOTNULL="true" SEQUENCE="false" COMMENT="Date of start of absence"/>
<FIELD NAME="startperiod" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false" COMMENT="Number of first absence period"/>
<FIELD NAME="endperiod" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false" COMMENT="Number of last absence period"/>
<FIELD NAME="reason" TYPE="char" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="Reason of absence"/>
<FIELD NAME="text" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="Description of absence"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
<TABLE NAME="timetable_absence_reason" COMMENT="Teachers">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
<FIELD NAME="reason" TYPE="char" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="Absence shortname"/>
<FIELD NAME="description" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="Absence description"/>
<FIELD NAME="flag" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="flag"/>
<FIELD NAME="statistic" TYPE="char" LENGTH="255" NOTNULL="false" SEQUENCE="false" COMMENT="Teachers firstname"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
<TABLE NAME="timetable_teacher" COMMENT="Teachers">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
@ -97,5 +125,18 @@
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
<TABLE NAME="timetable_time" COMMENT="Classes">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true"/>
<FIELD NAME="day" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false" COMMENT="day"/>
<FIELD NAME="period" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false" COMMENT="period"/>
<FIELD NAME="maxperiod" TYPE="int" LENGTH="2" NOTNULL="true" SEQUENCE="false" COMMENT="maximum number of periods"/>
<FIELD NAME="starttime" TYPE="char" LENGTH="4" NOTNULL="true" SEQUENCE="false" COMMENT="starttime"/>
<FIELD NAME="endtime" TYPE="char" LENGTH="4" NOTNULL="true" SEQUENCE="false" COMMENT="endtime"/>
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id"/>
</KEYS>
</TABLE>
</TABLES>
</XMLDB>
</XMLDB>

View file

@ -178,6 +178,75 @@ function xmldb_timetable_upgrade($oldversion) {
upgrade_mod_savepoint(true, 2020082903, 'timetable');
}
if ($oldversion < 2020110901) {
// Define table timetable to be created.
$table = new xmldb_table('timetable_absence');
// Adding fields to table timetable.
$table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
$table->add_field('type', XMLDB_TYPE_CHAR, '1', null, XMLDB_NOTNULL, null, null);
$table->add_field('name', XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null);
$table->add_field('startdate', XMLDB_TYPE_INTEGER, '8', null, XMLDB_NOTNULL, null, '0');
$table->add_field('enddate', XMLDB_TYPE_INTEGER, '8', null, XMLDB_NOTNULL, null, '0');
$table->add_field('startperiod', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0');
$table->add_field('endperiod', XMLDB_TYPE_INTEGER, '2', null, XMLDB_NOTNULL, null, '0');
$table->add_field('reason', XMLDB_TYPE_CHAR, '10', null, null, null, null);
$table->add_field('text', XMLDB_TYPE_CHAR, '255', null, null, null, null);
// Adding keys to table timetable_class.
$table->add_key('primary', XMLDB_KEY_PRIMARY, ['id']);
// Conditionally launch create table for timetable_class.
if (!$dbman->table_exists($table)) {
$dbman->create_table($table);
}
// Define table timetable to be created.
$table = new xmldb_table('timetable_absence_reason');
// Adding fields to table timetable.
$table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
$table->add_field('reason', XMLDB_TYPE_CHAR, '10', null, XMLDB_NOTNULL, null, null);
$table->add_field('description', XMLDB_TYPE_CHAR, '255', null, null, null, null);
$table->add_field('flag', XMLDB_TYPE_CHAR, '8', null, null, null, null);
$table->add_field('statistic', XMLDB_TYPE_CHAR, '8', null, null, null, null);
// Adding keys to table timetable_class.
$table->add_key('primary', XMLDB_KEY_PRIMARY, ['id']);
// Conditionally launch create table for timetable_class.
if (!$dbman->table_exists($table)) {
$dbman->create_table($table);
}
// Timetable savepoint reached.
upgrade_mod_savepoint(true, 2020110901, 'timetable');
}
if ($oldversion < 2020111101) {
// Define table timetable to be created.
$table = new xmldb_table('timetable_time');
// Adding fields to table timetable.
$table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
$table->add_field('day', XMLDB_TYPE_INTEGER, '2' , null, XMLDB_NOTNULL, null, null);
$table->add_field('period', XMLDB_TYPE_INTEGER, '2' , null, XMLDB_NOTNULL, null, null);
$table->add_field('maxperiod', XMLDB_TYPE_INTEGER, '2' , null, XMLDB_NOTNULL, null, null);
$table->add_field('starttime', XMLDB_TYPE_CHAR, '4', null, XMLDB_NOTNULL, null, null);
$table->add_field('endtime', XMLDB_TYPE_CHAR, '4', null, XMLDB_NOTNULL, null, null);
// Adding keys to table timetable_class.
$table->add_key('primary', XMLDB_KEY_PRIMARY, ['id']);
// Conditionally launch create table for timetable_class.
if (!$dbman->table_exists($table)) {
$dbman->create_table($table);
}
// Timetable savepoint reached.
upgrade_mod_savepoint(true, 2020111101, 'timetable');
}
return true;
}