Added roles for BeetRound purpose.
This commit is contained in:
@ -10,29 +10,68 @@
|
||||
|
||||
/// model data
|
||||
enum UserRoles {
|
||||
NameRole = Qt::UserRole + 1,
|
||||
DescriptionRole,
|
||||
InfoRole,
|
||||
AmountRole,
|
||||
FactorRole,
|
||||
/// Non user facing
|
||||
IdRole,
|
||||
/// read only roles
|
||||
LastNameRole = Qt::UserRole + 1,
|
||||
FirstNameRole,
|
||||
MembershipNumberRole,
|
||||
Bidding1Role,
|
||||
Bidding2Role,
|
||||
Bidding3Role,
|
||||
DepotWish1Role,
|
||||
DepotWish2Role,
|
||||
ShareAmountRole,
|
||||
MailRole,
|
||||
ShareTypeRole,
|
||||
BiddingTypeRole,
|
||||
OnlineIdRole,
|
||||
AccessCodeRole,
|
||||
// read-only (calculated)
|
||||
FullNameRole,
|
||||
FactoredBiddingRole,
|
||||
ToStringRole,
|
||||
ToJsonRole
|
||||
JsonObjectRole
|
||||
};
|
||||
|
||||
static UserRoles DEFAULT_ROLE = NameRole;
|
||||
static UserRoles DEFAULT_ROLE = FullNameRole;
|
||||
// TODO ?rename USER_FACING_ROLES -> MAIN_ROLES ?
|
||||
static QList<UserRoles> USER_FACING_ROLES = {NameRole, DescriptionRole, InfoRole, AmountRole,
|
||||
FactorRole};
|
||||
static QHash<int, QByteArray> ROLE_NAMES = {
|
||||
{NameRole, "name"}, {DescriptionRole, "description"}, {InfoRole, "info"},
|
||||
{AmountRole, "amount"}, {FactorRole, "factor"}, {ToStringRole, "ToString"},
|
||||
{IdRole, "id"}};
|
||||
static QList<UserRoles> STRING_ROLES = {NameRole, DescriptionRole, InfoRole, IdRole};
|
||||
static QList<UserRoles> INT_ROLES = {AmountRole};
|
||||
static QList<UserRoles> DOUBLE_ROLES = {FactorRole};
|
||||
static QList<UserRoles> USER_FACING_ROLES = {
|
||||
LastNameRole, FirstNameRole, MembershipNumberRole, Bidding1Role, Bidding2Role,
|
||||
Bidding3Role, DepotWish1Role, DepotWish2Role, ShareAmountRole, MailRole,
|
||||
ShareTypeRole, BiddingTypeRole, OnlineIdRole, AccessCodeRole};
|
||||
static QHash<int, QByteArray> ROLE_NAMES = {{MembershipNumberRole, "Mitglieds-nr."},
|
||||
{LastNameRole, "Name"},
|
||||
{FirstNameRole, "Vorname"},
|
||||
{Bidding1Role, "Gebot 1"},
|
||||
{Bidding2Role, "Gebot 2"},
|
||||
{Bidding3Role, "Gebot 3"},
|
||||
{DepotWish1Role, "Wunsch 1"},
|
||||
{DepotWish2Role, "Wunsch 2"},
|
||||
{ShareAmountRole, "Anzahl"},
|
||||
{MailRole, "Mail"},
|
||||
{ShareTypeRole, "Art"},
|
||||
{BiddingTypeRole, "Bietart"},
|
||||
{OnlineIdRole, "Online ID"},
|
||||
{AccessCodeRole, "Access Code"},
|
||||
{FactoredBiddingRole, "factoredBidding"}};
|
||||
|
||||
static const QList<QString> SHARE_TYPES = {"bezahlt", "teils/teils", "erarbeitet", ""};
|
||||
static const QList<QString> BIDDING_TYPES = {"paper", "digital", "online", "offline", ""};
|
||||
|
||||
static QList<UserRoles> STRING_ROLES = {LastNameRole, FirstNameRole, DepotWish1Role,
|
||||
DepotWish2Role, MailRole, ShareTypeRole,
|
||||
BiddingTypeRole, OnlineIdRole, AccessCodeRole};
|
||||
static QList<UserRoles> INT_ROLES = {
|
||||
MembershipNumberRole,
|
||||
Bidding1Role,
|
||||
Bidding2Role,
|
||||
Bidding3Role,
|
||||
};
|
||||
static QList<UserRoles> DOUBLE_ROLES = {
|
||||
ShareAmountRole,
|
||||
};
|
||||
|
||||
static const QList<UserRoles> TYPE_ROLES = {ShareTypeRole, BiddingTypeRole};
|
||||
static const QList<UserRoles> SHARE_TYPE_ROLES = {ShareTypeRole};
|
||||
static const QList<UserRoles> BIDDING_TYPE_ROLES = {BiddingTypeRole};
|
||||
|
||||
/// JSON keys
|
||||
static const QString ITEMS_KEY_STRING = "items";
|
||||
@ -42,26 +81,53 @@ static const QString ITEM_KEY_STRING = "item";
|
||||
static const QString ITEMS_FILE_NAME = ITEMS_KEY_STRING + ".json";
|
||||
|
||||
/// functions
|
||||
static int GET_ROLE_FOR_COLUMN(const int column) {
|
||||
static UserRoles GET_ROLE_FOR_COLUMN(const int column) {
|
||||
switch (column) {
|
||||
case 0:
|
||||
return NameRole;
|
||||
return MembershipNumberRole;
|
||||
break;
|
||||
case 1:
|
||||
return DescriptionRole;
|
||||
return LastNameRole;
|
||||
break;
|
||||
case 2:
|
||||
return InfoRole;
|
||||
return FirstNameRole;
|
||||
break;
|
||||
case 3:
|
||||
return AmountRole;
|
||||
return ShareTypeRole;
|
||||
break;
|
||||
case 4:
|
||||
return FactorRole;
|
||||
return ShareAmountRole;
|
||||
break;
|
||||
case 5:
|
||||
return BiddingTypeRole;
|
||||
break;
|
||||
case 6:
|
||||
return Bidding1Role;
|
||||
break;
|
||||
case 7:
|
||||
return Bidding2Role;
|
||||
break;
|
||||
case 8:
|
||||
return Bidding3Role;
|
||||
break;
|
||||
case 9:
|
||||
return DepotWish1Role;
|
||||
break;
|
||||
case 10:
|
||||
return DepotWish2Role;
|
||||
break;
|
||||
case 11:
|
||||
return MailRole;
|
||||
break;
|
||||
case 12:
|
||||
return OnlineIdRole;
|
||||
break;
|
||||
case 13:
|
||||
return AccessCodeRole;
|
||||
break;
|
||||
default:
|
||||
qWarning() << QString("No role found for column %1! Returning 'NameRole'...").arg(column);
|
||||
return NameRole;
|
||||
qWarning() << QString("No role found for column %1! Returning 'FullNameRole'...").arg(column);
|
||||
return FullNameRole;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -74,4 +140,10 @@ static QList<QString> GET_HEADER_NAMES() {
|
||||
return result;
|
||||
}
|
||||
|
||||
static QString GET_HEADER_FOR_COLUMN(const int column) {
|
||||
const UserRoles role = GET_ROLE_FOR_COLUMN(column);
|
||||
const QString headerName = ROLE_NAMES.value(role);
|
||||
return headerName;
|
||||
}
|
||||
|
||||
#endif // METADATA_H
|
||||
|
||||
Reference in New Issue
Block a user