Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ env:

jobs:
build_linux:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -33,7 +33,7 @@ jobs:

- name: Get AppImageTool
run: |
curl --silent "https://api.github.com/repos/AppImage/AppImageKit/releases/latest" | jq -r '.assets[] | select(.name == "appimagetool-x86_64.AppImage").browser_download_url' | sudo xargs curl -L -o /opt/appimagetool-x86_64.AppImage --create-dirs --url
curl --silent "https://api.github.com/repos/AppImage/AppImageKit/releases/latest" | jq -r '.assets[] | select(.name == "obsolete-appimagetool-x86_64.AppImage").browser_download_url' | sudo xargs curl -L -o /opt/appimagetool-x86_64.AppImage --create-dirs --url
sudo chmod +x /opt/appimagetool-x86_64.AppImage

- name: Build AppImage
Expand All @@ -55,7 +55,7 @@ jobs:


build_windows:
runs-on: windows-2019
runs-on: windows-2022
defaults:
run:
shell: bash
Expand All @@ -72,11 +72,11 @@ jobs:
path: |
C:/openssl/bin/libssl-1_1-x64.dll
C:/openssl/bin/libcrypto-1_1-x64.dll
C:/Program Files/PostgreSQL/14/bin/libiconv-2.dll
C:/Program Files/PostgreSQL/14/bin/libintl-9.dll
C:/Program Files/PostgreSQL/14/bin/liblz4.dll
C:/Program Files/PostgreSQL/14/bin/zlib1.dll
C:/Program Files/PostgreSQL/14/bin/libpq.dll
%PGBIN%/libiconv-2.dll
%PGBIN%/libintl-9.dll
%PGBIN%/liblz4.dll
%PGBIN%/zlib1.dll
%PGBIN%/libpq.dll
key: ${{ runner.os }}-Libraries

- name: Get OpenSSL and PostgreSQL libraries
Expand All @@ -94,6 +94,12 @@ jobs:
host: 'windows'
arch: 'win64_mingw81'

- name: Set up MinGW
uses: egor-tensin/setup-mingw@v2
with:
platform: x64
version: 8.1

- name: Build
run: |
qmake.exe quickbox.pro -spec win32-g++ "CONFIG+=release" "GITHUB_ACTIONS=TRUE"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The QuickBox is built upon the Qt framework, targeted for Linux and Windows and
* results print and export (PDF | [IOF XML](https://github.com/international-orienteering-federation/datastandard-v3))
* export results for Liveresultat and Emma client
* [Weblate localization](https://hosted.weblate.org/projects/quickbox/) - thanks to Michal Cihar and https://weblate.org/ for free localization hosting
* integration with [ORIS](https://oris.orientacnisporty.cz/) - Czech orienteering federation information system
* integration with [ORIS](https://oris.ceskyorientak.cz/) - Czech orienteering federation information system
* import events
* sync entries
* import clubs and registrations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ void ChooseOrisEventDialog::load()
//QCoreApplication::processEvents();
QDate d = QDate::currentDate();
d = d.addMonths(-1);
QUrl url("https://oris.orientacnisporty.cz/API/?format=json&method=getEventList&all=1&datefrom=" + d.toString(Qt::ISODate));
QUrl url("https://" + OrisImporter::orisDomainName() + "/API/?format=json&method=getEventList&all=1&datefrom=" + d.toString(Qt::ISODate));
m_importer->getJsonAndProcess(url, this, [this](const QJsonDocument &jsd) {
//qfWarning() << QString::fromUtf8(jsd.toJson());
OrisImporter::saveJsonBackup("EventList", jsd);
Expand Down
16 changes: 11 additions & 5 deletions quickevent/app/quickevent/plugins/Oris/src/orisimporter.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ OrisImporter::OrisImporter(QObject *parent)

}

QString OrisImporter::orisDomainName()
{
static auto s = QStringLiteral("oris.ceskyorientak.cz");
return s;
}

qf::core::network::NetworkAccessManager *OrisImporter::networkAccessManager()
{
if(!m_networkAccessManager) {
Expand Down Expand Up @@ -149,7 +155,7 @@ void OrisImporter::syncRelaysEntries(int event_id, std::function<void ()> succes
return;
}
*/
QUrl url(QString("https://oris.orientacnisporty.cz/ExportPrihlasek?id=%1").arg(event_id));
QUrl url(QString("https://" + OrisImporter::orisDomainName() + "/ExportPrihlasek?id=%1").arg(event_id));
getTextAndProcess(url, this, [=](const QByteArray &data) {
qf::qmlwidgets::framework::MainWindow *fwk = qf::qmlwidgets::framework::MainWindow::frameWork();
try {
Expand Down Expand Up @@ -331,7 +337,7 @@ static QString jsonObjectToFullName(const QJsonObject &data, const QString &fiel

void OrisImporter::importEvent(int event_id, std::function<void ()> success_callback)
{
QUrl url(QString("https://oris.orientacnisporty.cz/API/?format=json&method=getEvent&id=%1").arg(event_id));
QUrl url(QString("https://" + OrisImporter::orisDomainName() + "/API/?format=json&method=getEvent&id=%1").arg(event_id));
getJsonAndProcess(url, this, [=](const QJsonDocument &jsd) {
qf::qmlwidgets::framework::MainWindow *fwk = qf::qmlwidgets::framework::MainWindow::frameWork();
try {
Expand Down Expand Up @@ -454,7 +460,7 @@ void OrisImporter::syncEventEntries(int event_id, std::function<void ()> success
syncRelaysEntries(event_id, success_callback);
return;
}
QUrl url(QString("https://oris.orientacnisporty.cz/API/?format=json&method=getEventEntries&eventid=%1").arg(event_id));
QUrl url(QString("https://" + OrisImporter::orisDomainName() + "/API/?format=json&method=getEventEntries&eventid=%1").arg(event_id));
getJsonAndProcess(url, this, [=](const QJsonDocument &jsd) {
static const QString json_fn = "EventEntries";
saveJsonBackup(json_fn, jsd);
Expand Down Expand Up @@ -747,7 +753,7 @@ void OrisImporter::importRegistrations(std::function<void ()> success_callback)
year = QInputDialog::getInt(nullptr, tr("Import ORIS Registrations"), tr("Year of registration:"), year, year-2, year+2, 1, &ok);
if (!ok) return;

QUrl url(QString("https://oris.orientacnisporty.cz/API/?format=json&method=getRegistration&sport=%1&year=%2").arg(sport_id).arg(year));
QUrl url(QString("https://" + OrisImporter::orisDomainName() + "/API/?format=json&method=getRegistration&sport=%1&year=%2").arg(sport_id).arg(year));
getJsonAndProcess(url, this, [=](const QJsonDocument &jsd) {
saveJsonBackup("Registrations", jsd);
qf::qmlwidgets::framework::MainWindow *fwk = qf::qmlwidgets::framework::MainWindow::frameWork();
Expand Down Expand Up @@ -807,7 +813,7 @@ void OrisImporter::importRegistrations(std::function<void ()> success_callback)

void OrisImporter::importClubs(std::function<void ()> success_callback)
{
QUrl url("https://oris.orientacnisporty.cz/API/?format=json&method=getCSOSClubList");
QUrl url("https://" + OrisImporter::orisDomainName() + "/API/?format=json&method=getCSOSClubList");
getJsonAndProcess(url, this, [=](const QJsonDocument &jsd) {
saveJsonBackup("Clubs", jsd);
qf::qmlwidgets::framework::MainWindow *fwk = qf::qmlwidgets::framework::MainWindow::frameWork();
Expand Down
2 changes: 2 additions & 0 deletions quickevent/app/quickevent/plugins/Oris/src/orisimporter.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ class OrisImporter : public QObject
public:
explicit OrisImporter(QObject *parent = nullptr);

static QString orisDomainName();

void chooseAndImport();
void importEvent(int event_id, std::function<void()> success_callback = nullptr);
void syncCurrentEventEntries(std::function<void()> success_callback = nullptr);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ QVariantMap ReceiptsPlugin::receiptTablesData(int card_id)
int course_id = checked_card.courseId();
int leg = 0;
int relay_num = 0;
int current_standings = 0;
int current_standings = 1;
int competitors_finished = 0;
int best_time = 0;
QMap<int, int> best_laps; // position->time
Expand Down Expand Up @@ -303,7 +303,7 @@ QVariantMap ReceiptsPlugin::receiptTablesData(int card_id)
bool dis = q.value("dis").toBool();
int time = q.value("timeMs").toInt();
if(!dis) {
if(time <= checked_card.timeMs())
if(time < checked_card.timeMs())
current_standings++;
if(best_time == 0 || time < best_time)
best_time = time;
Expand Down