added #27. changed directories (overloaded), added some checkings.
This commit is contained in:
parent
5a287a25ef
commit
6d623b7800
34 changed files with 697 additions and 106 deletions
30
jceGrade.pro
30
jceGrade.pro
|
@ -25,8 +25,9 @@ TRANSLATIONS = jce_en.ts \
|
|||
|
||||
FORMS += \
|
||||
main/mainscreen.ui \
|
||||
src/jceData/Calendar/calendarDialog.ui \
|
||||
src/jceData/Grades/graph/gradegraph.ui
|
||||
src/jceData/Grades/graph/gradegraph.ui \
|
||||
src/jceData/Calendar/Exams/examDialog.ui \
|
||||
src/jceData/Calendar/coursesSchedule/calendarDialog.ui
|
||||
|
||||
RESOURCES += \
|
||||
resources/connectionstatus.qrc
|
||||
|
@ -38,7 +39,6 @@ HEADERS += \
|
|||
main/mainscreen.h \
|
||||
src/appDatabase/savedata.h \
|
||||
src/jceConnection/jcesslclient.h \
|
||||
src/jceData/Calendar/calendarPage.h \
|
||||
src/jceData/Grades/gradeCourse.h \
|
||||
src/jceData/Grades/gradePage.h \
|
||||
src/jceData/course.h \
|
||||
|
@ -46,15 +46,19 @@ HEADERS += \
|
|||
src/jceSettings/jcelogin.h \
|
||||
src/jceSettings/jceLoginHtmlScripts.h \
|
||||
src/jceSettings/user.h \
|
||||
src/jceData/Calendar/calendarCourse.h \
|
||||
src/jceData/Calendar/calendarSchedule.h \
|
||||
src/jceData/CSV/csv_exporter.h \
|
||||
src/appDatabase/simplecrypt.h \
|
||||
src/jceData/Calendar/calendarDialog.h \
|
||||
src/appDatabase/jce_logger.h \
|
||||
src/jceData/Grades/graph/qcustomplot.h \
|
||||
src/jceData/Grades/graph/gradegraph.h \
|
||||
src/jceData/Calendar/calendarExam.h
|
||||
src/jceData/Calendar/calendarPageCourse.h \
|
||||
src/jceData/Calendar/Exams/examDialog.h \
|
||||
src/jceData/Calendar/Exams/calendarExam.h \
|
||||
src/jceData/Calendar/Exams/calendarExamCourse.h \
|
||||
src/jceData/Calendar/coursesSchedule/calendarDialog.h \
|
||||
src/jceData/Calendar/coursesSchedule/calendarPage.h \
|
||||
src/jceData/Calendar/coursesSchedule/calendarPageCourse.h \
|
||||
src/jceData/Calendar/coursesSchedule/calendarSchedule.h
|
||||
|
||||
SOURCES += \
|
||||
main/CalendarTab/CalendarManager.cpp \
|
||||
|
@ -64,18 +68,20 @@ SOURCES += \
|
|||
main/mainscreen.cpp \
|
||||
src/appDatabase/savedata.cpp \
|
||||
src/jceConnection/jcesslclient.cpp \
|
||||
src/jceData/Calendar/calendarPage.cpp \
|
||||
src/jceData/Grades/gradeCourse.cpp \
|
||||
src/jceData/Grades/gradePage.cpp \
|
||||
src/jceData/page.cpp \
|
||||
src/jceSettings/jcelogin.cpp \
|
||||
src/jceSettings/user.cpp \
|
||||
src/jceData/Calendar/calendarCourse.cpp \
|
||||
src/jceData/Calendar/calendarSchedule.cpp \
|
||||
src/jceData/CSV/csv_exporter.cpp \
|
||||
src/appDatabase/simplecrypt.cpp \
|
||||
src/jceData/Calendar/calendarDialog.cpp \
|
||||
src/appDatabase/jce_logger.cpp \
|
||||
src/jceData/Grades/graph/qcustomplot.cpp \
|
||||
src/jceData/Grades/graph/gradegraph.cpp \
|
||||
src/jceData/Calendar/calendarExam.cpp
|
||||
src/jceData/Calendar/Exams/examDialog.cpp \
|
||||
src/jceData/Calendar/Exams/calendarExam.cpp \
|
||||
src/jceData/Calendar/Exams/calendarExamCourse.cpp \
|
||||
src/jceData/Calendar/coursesSchedule/calendarDialog.cpp \
|
||||
src/jceData/Calendar/coursesSchedule/calendarPage.cpp \
|
||||
src/jceData/Calendar/coursesSchedule/calendarPageCourse.cpp \
|
||||
src/jceData/Calendar/coursesSchedule/calendarSchedule.cpp
|
||||
|
|
|
@ -1,15 +1,25 @@
|
|||
#include "CalendarManager.h"
|
||||
|
||||
CalendarManager::CalendarManager(QGridLayout *ptr)
|
||||
CalendarManager::CalendarManager(QWidget *parent, QGridLayout *ptr) : QWidget(parent)
|
||||
{
|
||||
caliSchedPtr = new calendarSchedule();
|
||||
caliSchedPtr = new calendarSchedule(this);
|
||||
examSchePtr = new calendarExam();
|
||||
ptr->addWidget(caliSchedPtr);
|
||||
caliDialog = new CalendarDialog();
|
||||
caliDialog = new CalendarDialog(this);
|
||||
examDialogPtr = new examDialog(this,examSchePtr);
|
||||
}
|
||||
|
||||
void CalendarManager::setCalendar(QString html)
|
||||
{
|
||||
caliSchedPtr->setPage(html);
|
||||
|
||||
}
|
||||
|
||||
void CalendarManager::setExamsSchedule(QString html)
|
||||
{
|
||||
examSchePtr->setPage(html);
|
||||
examDialogPtr->initializingDataIntoTable();
|
||||
examDialogPtr->show();
|
||||
}
|
||||
void CalendarManager::exportCalendarCSV() //need to add fix to the null pointer bug
|
||||
{
|
||||
|
|
|
@ -1,21 +1,25 @@
|
|||
#ifndef CALENDARMANAGER_H
|
||||
#define CALENDARMANAGER_H
|
||||
|
||||
#include "./src/jceData/Calendar/calendarPage.h"
|
||||
#include "./src/jceData/Calendar/calendarSchedule.h"
|
||||
#include "./src/jceData/Calendar/coursesSchedule/calendarPage.h"
|
||||
#include "./src/jceData/Calendar/coursesSchedule/calendarSchedule.h"
|
||||
#include "./src/jceData/Calendar/coursesSchedule/calendarDialog.h"
|
||||
#include "./src/jceData/CSV/csv_exporter.h"
|
||||
#include "./src/jceData/Calendar/calendarDialog.h"
|
||||
|
||||
#include "./src/jceData/Calendar/Exams/calendarExam.h"
|
||||
#include "./src/jceData/Calendar/Exams/examDialog.h"
|
||||
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include <QGridLayout>
|
||||
#include <QMessageBox>
|
||||
|
||||
class CalendarManager : public QObject
|
||||
class CalendarManager : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CalendarManager(QGridLayout *ptr);
|
||||
CalendarManager(QWidget *parent = 0, QGridLayout *ptr = 0);
|
||||
~CalendarManager()
|
||||
{
|
||||
delete caliSchedPtr;
|
||||
|
@ -23,9 +27,15 @@ public:
|
|||
}
|
||||
void exportCalendarCSV();
|
||||
void setCalendar(QString html);
|
||||
void setExamsSchedule(QString html);
|
||||
|
||||
void resetTable() { if (caliSchedPtr != NULL) caliSchedPtr->clearTableItems(); }
|
||||
|
||||
private:
|
||||
calendarExam * examSchePtr;
|
||||
examDialog * examDialogPtr;
|
||||
|
||||
|
||||
calendarSchedule * caliSchedPtr;
|
||||
CalendarDialog * caliDialog;
|
||||
|
||||
|
|
|
@ -146,6 +146,14 @@ int loginHandler::makeCalendarRequest(int year, int semester)
|
|||
else
|
||||
return jceLogin::JCE_NOT_CONNECTED;
|
||||
}
|
||||
|
||||
int loginHandler::makeExamsScheduleRequest(int year, int semester)
|
||||
{
|
||||
if (isLoggedInFlag())
|
||||
return jceLog->getExams(year,semester);
|
||||
else
|
||||
return jceLogin::JCE_NOT_CONNECTED;
|
||||
}
|
||||
void loginHandler::setIconConnectionStatus(jceLogin::jceStatus statusDescription)
|
||||
{
|
||||
QPixmap iconPix;
|
||||
|
|
|
@ -37,6 +37,7 @@ public:
|
|||
|
||||
int makeGradeRequest(int fromYear, int toYear, int fromSemester, int toSemester);
|
||||
int makeCalendarRequest(int year,int semester);
|
||||
int makeExamsScheduleRequest(int year, int semester);
|
||||
|
||||
private slots:
|
||||
void readyAfterConnectionLost();
|
||||
|
|
|
@ -31,7 +31,7 @@ MainScreen::MainScreen(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainSc
|
|||
this->userLoginSetting = new user("","");
|
||||
this->courseTableMgr = new coursesTableManager(ui->coursesTable,userLoginSetting);
|
||||
this->loginHandel = new loginHandler(userLoginSetting,ui->statusBar,ui->loginButton,ui->progressBar);
|
||||
this->calendar = new CalendarManager(ui->calendarGridLayoutMain);
|
||||
this->calendar = new CalendarManager(this,ui->calendarGridLayoutMain);
|
||||
this->data = new SaveData();
|
||||
|
||||
//check login File
|
||||
|
@ -247,6 +247,36 @@ void MainScreen::on_graphButton_clicked()
|
|||
|
||||
|
||||
//EVENTS ON CALENDAR TAB
|
||||
void MainScreen::on_examsBtn_clicked()
|
||||
{
|
||||
ui->progressBar->setValue(0);
|
||||
qDebug() << Q_FUNC_INFO << "in: " << ui->tabWidget->currentWidget()->objectName();
|
||||
int status = 0;
|
||||
QString page;
|
||||
QApplication::setOverrideCursor(Qt::WaitCursor);
|
||||
if (loginHandel->isLoggedInFlag())
|
||||
{
|
||||
ui->statusBar->showMessage(tr("Getting exams..."));
|
||||
if ((status = loginHandel->makeExamsScheduleRequest(ui->spinBoxYear->value(),ui->spinBoxSemester->value())) == jceLogin::JCE_PAGE_PASSED)
|
||||
{
|
||||
ui->statusBar->showMessage(tr("Done."),1000);
|
||||
page = loginHandel->getCurrentPageContect();
|
||||
calendar->setExamsSchedule(page);
|
||||
ui->progressBar->setValue(100);
|
||||
qDebug() << Q_FUNC_INFO << "exams schedule is loaded";
|
||||
ui->statusBar->showMessage(tr("Done"));
|
||||
}
|
||||
else if (status == jceLogin::JCE_NOT_CONNECTED)
|
||||
{
|
||||
qWarning() << Q_FUNC_INFO << "not connected";
|
||||
QApplication::restoreOverrideCursor();
|
||||
QMessageBox::critical(this,tr("Error"),tr("Not Connected"));
|
||||
}
|
||||
else
|
||||
qCritical() << Q_FUNC_INFO << "exams request get ended with" << status;
|
||||
}
|
||||
QApplication::restoreOverrideCursor();
|
||||
}
|
||||
void MainScreen::on_getCalendarBtn_clicked()
|
||||
{
|
||||
ui->progressBar->setValue(0);
|
||||
|
@ -404,3 +434,5 @@ void MainScreen::on_progressBar_valueChanged(int value)
|
|||
else
|
||||
ui->progressBar->setVisible(true);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -71,6 +71,8 @@ private slots:
|
|||
|
||||
void on_progressBar_valueChanged(int value);
|
||||
|
||||
void on_examsBtn_clicked();
|
||||
|
||||
private:
|
||||
|
||||
void checkLocale();
|
||||
|
|
|
@ -64,7 +64,7 @@ background: qlineargradient(spread:pad, x1:0.496, y1:0, x2:0.508, y2:1, stop:0 r
|
|||
<enum>QTabWidget::Rounded</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>2</number>
|
||||
</property>
|
||||
<property name="documentMode">
|
||||
<bool>false</bool>
|
||||
|
@ -606,6 +606,13 @@ font-size: 15px;
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="examsBtn">
|
||||
<property name="text">
|
||||
<string>Show Exams</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="exportToCVSBtn">
|
||||
<property name="text">
|
||||
|
@ -690,7 +697,7 @@ background: qlineargradient(x1: 0, y1: 0.5, x2: 1, y2: 0.5, stop: 0 green, stop:
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1133</width>
|
||||
<height>23</height>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="menuA_about">
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
#include <QDebug>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "../Calendar/calendarSchedule.h"
|
||||
#include "../Calendar/calendarDialog.h"
|
||||
#include "../Calendar/coursesSchedule/calendarSchedule.h"
|
||||
#include "../Calendar/coursesSchedule/calendarDialog.h"
|
||||
|
||||
|
||||
#define CSV_CALENDAR_HEADER "Subject,Start Date,Start Time,End Date,End Time,Description,Location"
|
||||
|
|
116
src/jceData/Calendar/Exams/calendarExam.cpp
Normal file
116
src/jceData/Calendar/Exams/calendarExam.cpp
Normal file
|
@ -0,0 +1,116 @@
|
|||
#include "calendarExam.h"
|
||||
|
||||
calendarExam::calendarExam()
|
||||
{
|
||||
exams = NULL;
|
||||
htmlDataHolderParsed = "";
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief calendarExam::setPage - getting a html page and stripping it into a exams schedule in a list
|
||||
* @param html - html page with tags
|
||||
*/
|
||||
void calendarExam::setPage(QString html)
|
||||
{
|
||||
examsCounter = 0;
|
||||
if (exams == NULL)
|
||||
exams = new QList<calendarExamCourse*>();
|
||||
else
|
||||
exams->clear();
|
||||
this->htmlDataHolderParsed = getString(html);
|
||||
examListInit(htmlDataHolderParsed);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief calendarExam::examListInit spliting the stripped html into lines, and using linetocourse function to make it an object
|
||||
* @param linesTokinzedString - list of lines, each line has differen exam information
|
||||
*/
|
||||
void calendarExam::examListInit(QString &linesTokinzedString)
|
||||
{
|
||||
QString tempToken;
|
||||
|
||||
QStringList holder = linesTokinzedString.split("\n");
|
||||
QStringList::iterator iterator;
|
||||
for (iterator = holder.begin(); iterator != holder.end(); ++iterator)
|
||||
{
|
||||
tempToken = (*iterator);
|
||||
if (!tempToken.isEmpty())
|
||||
{
|
||||
calendarExamCourse *cTemp = lineToCourse(tempToken);
|
||||
if (cTemp != NULL)
|
||||
this->exams->push_back(cTemp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief calendarExam::lineToCourse getting line of exam with data and make it an object containing data (date, time, course name and etc)
|
||||
* @param line
|
||||
* @return
|
||||
*/
|
||||
calendarExamCourse *calendarExam::lineToCourse(QString line)
|
||||
{
|
||||
calendarExamCourse *tempC = NULL;
|
||||
QString templinearray[EXAM_SCHEDULE_FIELDS];
|
||||
//SERIAL, NAME, LECTURER, FIELD, TYPE, FIRST_DATE, FIRST_HOUR_BEGIN, SECOND_DATE, SECOND_HOUR_BEGIN
|
||||
|
||||
int serial;
|
||||
QString name, lecturer, field, type, firstDate, firstHourbegin, secondDate, secondHourbegin;
|
||||
|
||||
QString tempToken;
|
||||
int i = 0;
|
||||
QStringList holder = line.split("\t");
|
||||
QStringList::iterator iterator;
|
||||
for (iterator = holder.begin(); iterator != holder.end(); ++iterator)
|
||||
{
|
||||
|
||||
tempToken = (*iterator);
|
||||
templinearray[i] = tempToken.trimmed();
|
||||
i++;
|
||||
if (i >= EXAM_SCHEDULE_FIELDS)
|
||||
break;
|
||||
}
|
||||
|
||||
if (templinearray[0] == "") //empty parsing
|
||||
return NULL;
|
||||
|
||||
|
||||
serial = templinearray[calendarExamCourse::ExamScheme::SERIAL].toInt();
|
||||
name = templinearray[calendarExamCourse::ExamScheme::NAME];
|
||||
|
||||
lecturer = templinearray[calendarExamCourse::ExamScheme::LECTURER];
|
||||
if (lecturer.isEmpty())
|
||||
lecturer = LECTURER_DEFAULT_STRING;
|
||||
|
||||
field = templinearray[calendarExamCourse::ExamScheme::FIELD];
|
||||
type = templinearray[calendarExamCourse::ExamScheme::TYPE];
|
||||
|
||||
firstDate = templinearray[calendarExamCourse::ExamScheme::FIRST_DATE];
|
||||
if (firstDate.isEmpty())
|
||||
return NULL; //can't set a default date to an exam. must be an error
|
||||
|
||||
firstHourbegin = templinearray[calendarExamCourse::ExamScheme::FIRST_HOUR_BEGIN];
|
||||
if (firstHourbegin.isEmpty())
|
||||
firstHourbegin = HOUR_DEFAULT_STRING;
|
||||
secondDate = templinearray[calendarExamCourse::ExamScheme::SECOND_DATE];
|
||||
if (secondDate.isEmpty())
|
||||
{
|
||||
secondDate = SECOND_DATE_DEFAULT_STRING;
|
||||
secondHourbegin = HOUR_DEFAULT_STRING;
|
||||
}
|
||||
else
|
||||
{
|
||||
secondHourbegin = templinearray[calendarExamCourse::ExamScheme::SECOND_HOUR_BEGIN];
|
||||
if (secondHourbegin.isEmpty())
|
||||
secondHourbegin = HOUR_DEFAULT_STRING;
|
||||
}
|
||||
|
||||
tempC = new calendarExamCourse(serial,name,lecturer,field,type,firstDate,firstHourbegin,secondDate,secondHourbegin);
|
||||
examsCounter++;
|
||||
return tempC;
|
||||
}
|
||||
int calendarExam::getExamsCounter() const
|
||||
{
|
||||
return examsCounter;
|
||||
}
|
||||
|
34
src/jceData/Calendar/Exams/calendarExam.h
Normal file
34
src/jceData/Calendar/Exams/calendarExam.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
#ifndef CALENDAREXAM_H
|
||||
#define CALENDAREXAM_H
|
||||
|
||||
#include "../../page.h"
|
||||
#include "calendarExamCourse.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QStringList>
|
||||
#include <QList>
|
||||
|
||||
|
||||
class calendarExam : public Page
|
||||
{
|
||||
public:
|
||||
calendarExam();
|
||||
void setPage(QString html);
|
||||
|
||||
QList<calendarExamCourse*>* getExams() { return exams; }
|
||||
int getExamsCounter() const;
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void examListInit(QString &linesTokinzedString);
|
||||
calendarExamCourse * lineToCourse(QString line);
|
||||
|
||||
QString htmlDataHolderParsed;
|
||||
QList<calendarExamCourse*> *exams;
|
||||
|
||||
int examsCounter; //not including madei b
|
||||
};
|
||||
|
||||
#endif // CALENDAREXAM_H
|
100
src/jceData/Calendar/Exams/calendarExamCourse.cpp
Normal file
100
src/jceData/Calendar/Exams/calendarExamCourse.cpp
Normal file
|
@ -0,0 +1,100 @@
|
|||
#include "calendarExamCourse.h"
|
||||
|
||||
|
||||
calendarExamCourse::calendarExamCourse(int serial, QString name, QString lecturer, QString field,
|
||||
QString type, QString firstDate, QString firstHourbegin,
|
||||
QString secondDate, QString secondHourbegin) : Course (serial,name,type)
|
||||
{
|
||||
this->lecturer = lecturer;
|
||||
this->field = field;
|
||||
setDate(firstDate,true);
|
||||
setDate(secondDate,false);
|
||||
setTime(firstHourbegin,true);
|
||||
setTime(secondHourbegin,false);
|
||||
|
||||
}
|
||||
/**
|
||||
* @brief calendarExamCourse::setDate
|
||||
* @param date
|
||||
* @param isFirst if true > first. otherwise > second
|
||||
*/
|
||||
void calendarExamCourse::setDate(QString date, bool isFirst)
|
||||
{
|
||||
if (isFirst)
|
||||
this->firstDate = QDate::fromString(date,"dd/MM/yyyy");
|
||||
else
|
||||
this->secondDate = QDate::fromString(date,"dd/MM/yyyy");
|
||||
}
|
||||
/**
|
||||
* @brief calendarExamCourse::setTime
|
||||
* @param time
|
||||
* @param isFirst if true > first. otherwise > second
|
||||
*/
|
||||
void calendarExamCourse::setTime(QString time, bool isFirst)
|
||||
{
|
||||
// qDebug() << "time string is: " << time;
|
||||
if (isFirst)
|
||||
this->firstHourbegin = QTime::fromString(time,"hh:mm");
|
||||
else
|
||||
this->secondHourbegin = QTime::fromString(time,"hh:mm");
|
||||
}
|
||||
QTime calendarExamCourse::getSecondHourbegin() const
|
||||
{
|
||||
return secondHourbegin;
|
||||
}
|
||||
|
||||
void calendarExamCourse::setSecondHourbegin(const QTime &value)
|
||||
{
|
||||
secondHourbegin = value;
|
||||
}
|
||||
|
||||
QDate calendarExamCourse::getSecondDate() const
|
||||
{
|
||||
return secondDate;
|
||||
}
|
||||
|
||||
void calendarExamCourse::setSecondDate(const QDate &value)
|
||||
{
|
||||
secondDate = value;
|
||||
}
|
||||
|
||||
QTime calendarExamCourse::getFirstHourbegin() const
|
||||
{
|
||||
return firstHourbegin;
|
||||
}
|
||||
|
||||
void calendarExamCourse::setFirstHourbegin(const QTime &value)
|
||||
{
|
||||
firstHourbegin = value;
|
||||
}
|
||||
|
||||
QDate calendarExamCourse::getFirstDate() const
|
||||
{
|
||||
return firstDate;
|
||||
}
|
||||
|
||||
void calendarExamCourse::setFirstDate(const QDate &value)
|
||||
{
|
||||
firstDate = value;
|
||||
}
|
||||
|
||||
QString calendarExamCourse::getField() const
|
||||
{
|
||||
return field;
|
||||
}
|
||||
|
||||
void calendarExamCourse::setField(const QString &value)
|
||||
{
|
||||
field = value;
|
||||
}
|
||||
|
||||
QString calendarExamCourse::getLecturer() const
|
||||
{
|
||||
return lecturer;
|
||||
}
|
||||
|
||||
void calendarExamCourse::setLecturer(const QString &value)
|
||||
{
|
||||
lecturer = value;
|
||||
}
|
||||
|
70
src/jceData/Calendar/Exams/calendarExamCourse.h
Normal file
70
src/jceData/Calendar/Exams/calendarExamCourse.h
Normal file
|
@ -0,0 +1,70 @@
|
|||
#ifndef CALENDAREXAMCOURSE_H
|
||||
#define CALENDAREXAMCOURSE_H
|
||||
|
||||
#include "../../course.h"
|
||||
|
||||
#include <QTime>
|
||||
#include <QString>
|
||||
#include <QDate>
|
||||
|
||||
#define EXAM_SCHEDULE_FIELDS 9
|
||||
|
||||
#define LECTURER_DEFAULT_STRING "nullLecturer"
|
||||
#define HOUR_DEFAULT_STRING "00:00"
|
||||
#define SECOND_DATE_DEFAULT_STRING "nullSECOND_DATE"
|
||||
|
||||
class calendarExamCourse : public Course
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
enum ExamScheme
|
||||
{
|
||||
SERIAL,
|
||||
NAME,
|
||||
LECTURER,
|
||||
FIELD,
|
||||
TYPE,
|
||||
FIRST_DATE,
|
||||
FIRST_HOUR_BEGIN,
|
||||
SECOND_DATE,
|
||||
SECOND_HOUR_BEGIN
|
||||
};
|
||||
|
||||
calendarExamCourse(int serial, QString name, QString lecturer, QString field,
|
||||
QString type, QString firstDate, QString firstHourbegin,
|
||||
QString secondDate, QString secondHourbegin);
|
||||
|
||||
|
||||
QString getLecturer() const;
|
||||
void setLecturer(const QString &value);
|
||||
|
||||
QString getField() const;
|
||||
void setField(const QString &value);
|
||||
|
||||
QDate getFirstDate() const;
|
||||
void setFirstDate(const QDate &value);
|
||||
|
||||
QTime getFirstHourbegin() const;
|
||||
void setFirstHourbegin(const QTime &value);
|
||||
|
||||
QDate getSecondDate() const;
|
||||
void setSecondDate(const QDate &value);
|
||||
|
||||
QTime getSecondHourbegin() const;
|
||||
void setSecondHourbegin(const QTime &value);
|
||||
|
||||
private:
|
||||
|
||||
void setDate(QString date, bool isFirst); //isFirst = true > first. otherwise > second
|
||||
void setTime(QString time, bool isFirst); //isFirst = true > first. otherwise > second
|
||||
|
||||
QString lecturer;
|
||||
QString field;
|
||||
QDate firstDate;
|
||||
QTime firstHourbegin;
|
||||
QDate secondDate;
|
||||
QTime secondHourbegin;
|
||||
};
|
||||
|
||||
#endif // CALENDAREXAMCOURSE_H
|
74
src/jceData/Calendar/Exams/examDialog.cpp
Normal file
74
src/jceData/Calendar/Exams/examDialog.cpp
Normal file
|
@ -0,0 +1,74 @@
|
|||
#include "examDialog.h"
|
||||
#include "ui_examDialog.h"
|
||||
|
||||
examDialog::examDialog(QWidget *parent, calendarExam *calSchedPtr) : QDialog(parent),
|
||||
ui(new Ui::examDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
exams = calSchedPtr;
|
||||
QStringList headLine;
|
||||
//SERIAL, NAME, LECTURER, FIELD, TYPE, FIRST_DATE, FIRST_HOUR_BEGIN, SECOND_DATE, SECOND_HOUR_BEGIN
|
||||
|
||||
headLine << tr("Serial") << tr("Course") << tr("Lecturer") << tr("Field") << tr("Type") << tr("First") << tr("Begin") << tr("Second") << tr("Begin");
|
||||
|
||||
ui->tableWidget->setColumnCount(EXAM_SCHEDULE_FIELDS);
|
||||
ui->tableWidget->setHorizontalHeaderLabels(headLine);
|
||||
ui->tableWidget->setLayoutDirection(Qt::LayoutDirection::RightToLeft);
|
||||
|
||||
this->setModal(true);
|
||||
}
|
||||
|
||||
void examDialog::initializingDataIntoTable()
|
||||
{
|
||||
ui->tableWidget->setRowCount(exams->getExamsCounter());
|
||||
int i=0,j=0;
|
||||
QTableWidgetItem *lecturer,*name,*type;
|
||||
QTableWidgetItem *serial;
|
||||
QTableWidgetItem *field;
|
||||
QDateEdit *firstDate;
|
||||
QTimeEdit *firstHourbegin;
|
||||
QDateEdit *secondDate;
|
||||
QTimeEdit *secondHourbegin;
|
||||
|
||||
for (calendarExamCourse * tempExam: *exams->getExams())
|
||||
{
|
||||
j=0;
|
||||
lecturer = new QTableWidgetItem();
|
||||
lecturer->setData(Qt::EditRole, tempExam->getLecturer());
|
||||
name = new QTableWidgetItem();
|
||||
name->setData(Qt::EditRole, tempExam->getName());
|
||||
type = new QTableWidgetItem();
|
||||
type->setData(Qt::EditRole, tempExam->getType());
|
||||
serial = new QTableWidgetItem();
|
||||
serial->setData(Qt::EditRole, tempExam->getSerialNum());
|
||||
field = new QTableWidgetItem();
|
||||
field->setData(Qt::EditRole, tempExam->getField());
|
||||
firstDate = new QDateEdit();
|
||||
firstDate->setDate(tempExam->getFirstDate());
|
||||
secondDate = new QDateEdit();
|
||||
secondDate->setDate(tempExam->getSecondDate());
|
||||
firstHourbegin = new QTimeEdit();
|
||||
firstHourbegin->setTime(tempExam->getFirstHourbegin());
|
||||
secondHourbegin = new QTimeEdit();
|
||||
secondHourbegin->setTime(tempExam->getSecondHourbegin());
|
||||
|
||||
ui->tableWidget->setItem(i,j++,lecturer);
|
||||
ui->tableWidget->setItem(i,j++,name);
|
||||
ui->tableWidget->setItem(i,j++,type);
|
||||
ui->tableWidget->setItem(i,j++,serial);
|
||||
ui->tableWidget->setItem(i,j++,field);
|
||||
ui->tableWidget->setCellWidget(i,j++,firstDate);
|
||||
ui->tableWidget->setCellWidget(i,j++,firstHourbegin);
|
||||
ui->tableWidget->setCellWidget(i,j++,secondDate);
|
||||
ui->tableWidget->setCellWidget(i,j++,secondHourbegin);
|
||||
i++;
|
||||
}
|
||||
ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||
ui->tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||
|
||||
|
||||
}
|
||||
examDialog::~examDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
27
src/jceData/Calendar/Exams/examDialog.h
Normal file
27
src/jceData/Calendar/Exams/examDialog.h
Normal file
|
@ -0,0 +1,27 @@
|
|||
#ifndef EXAMDIALOG_H
|
||||
#define EXAMDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
#include <QDateEdit>
|
||||
|
||||
#include "calendarExam.h"
|
||||
|
||||
namespace Ui {
|
||||
class examDialog;
|
||||
}
|
||||
|
||||
class examDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit examDialog(QWidget *parent,calendarExam * calSchedPtr);
|
||||
void initializingDataIntoTable();
|
||||
~examDialog();
|
||||
|
||||
private:
|
||||
Ui::examDialog *ui;
|
||||
calendarExam * exams;
|
||||
};
|
||||
|
||||
#endif // EXAMDIALOG_H
|
86
src/jceData/Calendar/Exams/examDialog.ui
Normal file
86
src/jceData/Calendar/Exams/examDialog.ui
Normal file
|
@ -0,0 +1,86 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>examDialog</class>
|
||||
<widget class="QDialog" name="examDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>810</width>
|
||||
<height>257</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string><html><head/><body><p align="center"><span style=" font-size:14pt;">Exams Schedule</span></p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QTableWidget" name="tableWidget"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>examDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>248</x>
|
||||
<y>254</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>examDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>260</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
|
@ -1,5 +0,0 @@
|
|||
#include "calendarExam.h"
|
||||
|
||||
calendarExam::calendarExam()
|
||||
{
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
#ifndef CALENDAREXAM_H
|
||||
#define CALENDAREXAM_H
|
||||
|
||||
#include "../page.h"
|
||||
|
||||
class calendarExam : public Page
|
||||
{
|
||||
public:
|
||||
calendarExam();
|
||||
};
|
||||
|
||||
#endif // CALENDAREXAM_H
|
|
@ -1,10 +1,9 @@
|
|||
#include "calendarPage.h"
|
||||
|
||||
QString CalendarPage::htmlToString()
|
||||
{
|
||||
return tempHtml;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief CalendarPage::setPage getting the html and stripping it into a courses schedule in a list
|
||||
* @param html
|
||||
*/
|
||||
void CalendarPage::setPage(QString html)
|
||||
{
|
||||
|
||||
|
@ -13,7 +12,10 @@ void CalendarPage::setPage(QString html)
|
|||
calendarListInit(tempHtml);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief CalendarPage::calendarListInit - make an object from each line of course
|
||||
* @param linesTokinzedString - string contain lines of coureses. each string contain single course information
|
||||
*/
|
||||
void CalendarPage::calendarListInit(QString &linesTokinzedString)
|
||||
{
|
||||
std::list<QString> stringHolder;
|
||||
|
@ -36,6 +38,11 @@ void CalendarPage::calendarListInit(QString &linesTokinzedString)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief CalendarPage::lineToCourse
|
||||
* @param line - line of course contain its data and information
|
||||
* @return calendarcourse object with its information
|
||||
*/
|
||||
calendarCourse *CalendarPage::lineToCourse(QString line)
|
||||
{
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef CALENDARPAGE_H
|
||||
#define CALENDARPAGE_H
|
||||
|
||||
#include "../page.h"
|
||||
#include "calendarCourse.h"
|
||||
#include "../../page.h"
|
||||
#include "calendarPageCourse.h"
|
||||
#include <list>
|
||||
|
||||
#define ROOM_DEFAULT_STRING "nullRoom"
|
||||
|
@ -12,16 +12,17 @@ class CalendarPage : public Page
|
|||
{
|
||||
public:
|
||||
|
||||
QString htmlToString();
|
||||
std::list<calendarCourse*>* getCourses() { return courses; }
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
virtual void setPage(QString html);
|
||||
CalendarPage() { courses = NULL; }
|
||||
|
||||
|
||||
private:
|
||||
|
||||
void calendarListInit(QString &linesTokinzedString);
|
||||
calendarCourse * lineToCourse(QString line);
|
||||
|
|
@ -1,22 +1,21 @@
|
|||
#include "calendarCourse.h"
|
||||
#include "calendarPageCourse.h"
|
||||
|
||||
calendarCourse::calendarCourse(int serial, QString name, QString type, QString lecturer, double points,
|
||||
double semesterHours, QString dayAndHour,
|
||||
QString room, calendarCourse::CourseCalendarType courseType) : Course(serial,name, type,points)
|
||||
QString room) : Course(serial,name, type)
|
||||
{
|
||||
this->points = points;
|
||||
this->lecturer = lecturer;
|
||||
this->semesterHours = semesterHours;
|
||||
this->room = room;
|
||||
setDayAndHour(dayAndHour,courseType);
|
||||
setDayAndHour(dayAndHour);
|
||||
}
|
||||
/**
|
||||
* @brief calendarCourse::setDayAndHour
|
||||
* given a string of time and day - parsing it into day, hour it begins and hour it ends seperated
|
||||
* @param parse -
|
||||
*/
|
||||
void calendarCourse::setDayAndHour(QString parse, calendarCourse::CourseCalendarType courseType)
|
||||
{
|
||||
if (courseType == calendarCourse::CourseCalendarType::CoursesSchedule)
|
||||
void calendarCourse::setDayAndHour(QString parse)
|
||||
{
|
||||
int ctr = 0;
|
||||
QString temp = "";
|
||||
|
@ -48,11 +47,6 @@ void calendarCourse::setDayAndHour(QString parse, calendarCourse::CourseCalendar
|
|||
tok = strtok(NULL, " -");
|
||||
}
|
||||
}
|
||||
if (courseType == calendarCourse::CourseCalendarType::ExamSchedule)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
QString calendarCourse::getLecturer() const
|
||||
{
|
||||
|
@ -108,26 +102,6 @@ void calendarCourse::setMinutesEnd(int value)
|
|||
{
|
||||
minutesEnd = value;
|
||||
}
|
||||
/**
|
||||
* @brief calendarCourse::courseToString
|
||||
* @return prints the course into string pattern
|
||||
*/
|
||||
QString calendarCourse::courseToString()
|
||||
{
|
||||
QString courseText = "";
|
||||
courseText += " " + QString::number(this->getSerialNum());
|
||||
courseText += " " + this->getName();
|
||||
courseText += " " + this->getType();
|
||||
courseText += " " + this->lecturer;
|
||||
courseText += " " + QString::number(this->getPoints());
|
||||
courseText += " " + QString::number(this->semesterHours);
|
||||
courseText += " " + QString::number(this->day);
|
||||
courseText += " " + QString::number(this->hourBegin) + ":" + QString::number(this->minutesBegin) + "-" + QString::number(this->hourEnd) + ":" + QString::number(this->minutesEnd);
|
||||
courseText += " " + this->room;
|
||||
courseText += "\n";
|
||||
return courseText;
|
||||
|
||||
}
|
||||
int calendarCourse::getDay() const
|
||||
{
|
||||
return day;
|
||||
|
@ -171,3 +145,13 @@ void calendarCourse::setRoom(const QString &value)
|
|||
|
||||
|
||||
|
||||
|
||||
double calendarCourse::getPoints() const
|
||||
{
|
||||
return points;
|
||||
}
|
||||
|
||||
void calendarCourse::setPoints(double value)
|
||||
{
|
||||
points = value;
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef CALENDARCOURSE_H
|
||||
#define CALENDARCOURSE_H
|
||||
|
||||
#include "../course.h"
|
||||
#include "../../course.h"
|
||||
#include <QTime>
|
||||
|
||||
#define CALENDAR_COURSE_FIELDS 8
|
||||
|
@ -9,11 +9,6 @@
|
|||
class calendarCourse : public Course
|
||||
{
|
||||
public:
|
||||
enum CourseCalendarType
|
||||
{
|
||||
ExamSchedule,
|
||||
CoursesSchedule
|
||||
};
|
||||
|
||||
enum CourseScheme
|
||||
{
|
||||
|
@ -26,9 +21,11 @@ public:
|
|||
DAY_AND_HOURS,
|
||||
ROOM
|
||||
};
|
||||
|
||||
calendarCourse(int serial, QString name, QString type, QString lecturer,
|
||||
double points, double semesterHours, QString dayAndHour,
|
||||
QString room, calendarCourse::CourseCalendarType courseType = calendarCourse::CourseCalendarType::CoursesSchedule);
|
||||
QString room);
|
||||
|
||||
~calendarCourse(){}
|
||||
|
||||
int getDay() const;
|
||||
|
@ -39,6 +36,7 @@ public:
|
|||
int getMinutesBegin() const;
|
||||
int getHourEnd() const;
|
||||
int getMinutesEnd() const;
|
||||
double getPoints() const;
|
||||
|
||||
void setDay(const QString &value);
|
||||
void setLecturer(const QString &value);
|
||||
|
@ -48,14 +46,13 @@ public:
|
|||
void setMinutesBegin(int value);
|
||||
void setHourEnd(int value);
|
||||
void setMinutesEnd(int value);
|
||||
|
||||
QString courseToString();
|
||||
|
||||
void setPoints(double value);
|
||||
|
||||
private:
|
||||
|
||||
void setDayAndHour(QString parse, CourseCalendarType courseType);
|
||||
void setDayAndHour(QString parse);
|
||||
|
||||
double points;
|
||||
QString lecturer;
|
||||
double semesterHours;
|
||||
int day;
|
|
@ -1,6 +1,6 @@
|
|||
#include "calendarSchedule.h"
|
||||
|
||||
calendarSchedule::calendarSchedule()
|
||||
calendarSchedule::calendarSchedule(QWidget *parent) : QTableWidget(parent)
|
||||
{
|
||||
QStringList days,hours;
|
||||
QTextStream hourString;
|
||||
|
@ -22,7 +22,7 @@ calendarSchedule::calendarSchedule()
|
|||
days << QObject::tr("Sunday") << QObject::tr("Monday") << QObject::tr("Tuesday") << QObject::tr("Wednesday") << QObject::tr("Thursday") << QObject::tr("Friday");
|
||||
|
||||
setRowCount(endingHour - startingHour + 1);
|
||||
setColumnCount(6);
|
||||
setColumnCount(6); //number of days not including saturday ofcourse :)
|
||||
|
||||
setLayoutDirection(Qt::LayoutDirection::RightToLeft);\
|
||||
|
|
@ -16,7 +16,7 @@ class calendarSchedule : public QTableWidget, public CalendarPage
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
calendarSchedule();
|
||||
calendarSchedule(QWidget *parent = 0);
|
||||
~calendarSchedule() { clearTableItems(); }
|
||||
void setPage(QString html);
|
||||
void clearTableItems();
|
|
@ -1,7 +1,8 @@
|
|||
#include "gradeCourse.h"
|
||||
|
||||
gradeCourse::gradeCourse(int year, int semester, int courseNumInList, int serial, QString name, QString type, double points,double hours, double grade, QString additions) : Course(serial,name,type,points)
|
||||
gradeCourse::gradeCourse(int year, int semester, int courseNumInList, int serial, QString name, QString type, double points,double hours, double grade, QString additions) : Course(serial,name,type)
|
||||
{
|
||||
this->points = points;
|
||||
this->hours = hours;
|
||||
this->grade = grade;
|
||||
this->additions = additions;
|
||||
|
@ -56,4 +57,14 @@ void gradeCourse::setCourseNumInList(int value)
|
|||
{
|
||||
courseNumInList = value;
|
||||
}
|
||||
double gradeCourse::getPoints() const
|
||||
{
|
||||
return points;
|
||||
}
|
||||
|
||||
void gradeCourse::setPoints(double value)
|
||||
{
|
||||
points = value;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -41,18 +41,20 @@ public:
|
|||
double getHours() const {return this->hours;}
|
||||
double getGrade() const;
|
||||
QString getAddidtions() const {return this->additions;}
|
||||
int getCourseNumInList() const;
|
||||
double getPoints() const;
|
||||
|
||||
void setHours(double hours);
|
||||
void setGrade(double grade);
|
||||
void setAdditions(QString additions);
|
||||
void setYear(int year);
|
||||
void setSemester(int semester);
|
||||
|
||||
int getCourseNumInList() const;
|
||||
void setCourseNumInList(int value);
|
||||
void setPoints(double value);
|
||||
|
||||
private:
|
||||
|
||||
double points;
|
||||
double hours;
|
||||
double grade;
|
||||
QString additions;
|
||||
|
|
|
@ -16,6 +16,7 @@ void gradegraph::showGraph(GradePage *gpPTR)
|
|||
setVisualization();
|
||||
setGraphsData();
|
||||
this->show();
|
||||
this->setModal(true); //makes it on top of application
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -15,22 +15,19 @@ class Course {
|
|||
|
||||
public:
|
||||
|
||||
Course(int serial,QString name, QString type, double points) {
|
||||
Course(int serial,QString name, QString type) {
|
||||
this->serialNum = serial;
|
||||
this->name = name;
|
||||
this->type = type;
|
||||
this->points = points;
|
||||
}
|
||||
virtual ~Course() { }
|
||||
|
||||
int getSerialNum() const {return this->serialNum;}
|
||||
virtual QString getName() const {return this->name;}
|
||||
virtual QString getType() const {return this->type;}
|
||||
virtual double getPoints() const {return this->points;}
|
||||
|
||||
virtual void setName(QString name) { this->name = name;}
|
||||
virtual void setType(QString type){ this->type = type;}
|
||||
virtual void setPoints(double points){ this->points = points;}
|
||||
|
||||
|
||||
private:
|
||||
|
@ -38,7 +35,6 @@ private:
|
|||
int serialNum;
|
||||
QString name;
|
||||
QString type;
|
||||
double points;
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -84,6 +84,17 @@ public:
|
|||
parameters += "R1C2=" + QString::number(semester) + "&";
|
||||
return parameters;
|
||||
}
|
||||
const static QString getExamSchedule(const user &usr,int year, int semester)
|
||||
{
|
||||
QString parameters;
|
||||
parameters = "PRGNAME=HADPASAT_TOCHNIT_BEHINOT&ARGUMENTS=TZ,UNIQ,R1C1,R1C2,R1C3&";
|
||||
parameters += "TZ=" + usr.getUserID() + "&";
|
||||
parameters += "UNIQ=" + usr.getHashedPassword() + "&";
|
||||
parameters += "R1C1=" + QString::number(year) + "&";
|
||||
parameters += "R1C2=" + QString::number(semester) + "&";
|
||||
parameters += "R1C3=0";
|
||||
return parameters;
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
|
|
@ -199,6 +199,20 @@ int jceLogin::getCalendar(int year, int semester)
|
|||
return true;
|
||||
|
||||
}
|
||||
int jceLogin::getExams(int year, int semester)
|
||||
{
|
||||
if ((JceConnector->sendData(jceLoginHtmlScripts::makeRequest(jceLoginHtmlScripts::getExamSchedule(*jceA,year,semester)))))
|
||||
{
|
||||
if (!(JceConnector->recieveData(*recieverPage,false)))
|
||||
return jceLogin::ERROR_ON_GETTING_PAGE;
|
||||
else
|
||||
return jceLogin::JCE_PAGE_PASSED;
|
||||
}
|
||||
else
|
||||
return jceLogin::ERROR_ON_SEND_REQUEST;
|
||||
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
* @brief jceLogin::getGrades according to parameters, we make an HTML request and send it over socket to server
|
||||
* @param fromYear - from year
|
||||
|
|
|
@ -40,6 +40,7 @@ public:
|
|||
bool checkConnection() const;
|
||||
bool isLoginFlag() const;
|
||||
|
||||
int getExams(int year, int semester);
|
||||
int getCalendar(int year, int semester);
|
||||
int getGrades(int fromYear, int toYear, int fromSemester, int toSemester);
|
||||
|
||||
|
|
Loading…
Reference in a new issue