1 /*
2     This file is part of oxaccess.
3 
4     SPDX-FileCopyrightText: 2012 Marco Nelles <marco.nelles@credativ.com>
5 
6     SPDX-License-Identifier: LGPL-2.0-or-later
7 */
8 
9 #include "oxerrors.h"
10 
11 using namespace OXA;
12 
getEditErrorID(const QString & errorText)13 OXErrors::EditErrorID OXErrors::getEditErrorID(const QString &errorText)
14 {
15     const int b1Pos = errorText.indexOf(QLatin1Char('['));
16     const int b2Pos = errorText.indexOf(QLatin1Char(']'));
17     const QString errorID = errorText.mid(b1Pos + 1, b2Pos - b1Pos - 1);
18 
19     bool ok;
20     int eid = errorID.toInt(&ok);
21     if (!ok) {
22         return OXErrors::EditErrorUndefined;
23     }
24 
25     switch (eid) {
26     case 1000:
27         return OXErrors::ConcurrentModification;
28     case 1001:
29         return OXErrors::ObjectNotFound;
30     case 1002:
31         return OXErrors::NoPermissionForThisAction;
32     case 1003:
33         return OXErrors::ConflictsDetected;
34     case 1004:
35         return OXErrors::MissingMandatoryFields;
36     case 1006:
37         return OXErrors::AppointmentConflicts;
38     case 1500:
39         return OXErrors::InternalServerError;
40     default:;
41     }
42 
43     return OXErrors::EditErrorUndefined;
44 }
45