Skip to content
GitLab
Erkunden
Anmelden
Registrieren
Primärnavigation
Suchen oder aufrufen …
Projekt
erp
Verwalten
Aktivität
Mitglieder
Labels
Planen
Tickets
20
Ticketübersichten
Meilensteine
Wiki
Code
Merge Requests
0
Repository
Branch
Commits
Tags
Repository-Diagramm
Revisionen vergleichen
Build
Pipelines
Aufgaben
Pipeline-Zeitpläne
Artefakte
Bereitstellung
Releases
Betreiben
Umgebungen
Überwachen
Vorfälle
Service-Desk
Analysieren
Wertschöpfungskettenanalyse
Mitwirkenden-Analyse
CI/CD-Analyse
Repository-Analysen
Hilfe
Hilfe
Support
GitLab-Dokumentation
GitLab-Pläne vergleichen
Community-Forum
Zu GitLab beitragen
Feedback geben
Tastenkürzel
?
Code-Schnipsel
Gruppen
Projekte
Show more breadcrumbs
QUIQQER
erp
Commits
7917f46a
Commit
7917f46a
erstellt
vor 4 Jahren
von
Patrick Müller
Dateien durchsuchen
Optionen
Downloads
Patches
Einfaches Diff
feat: runtime cache for user brutto/netto status
Übergeordneter
b03ab178
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
Änderungen
1
Leerzeichenänderungen ausblenden
Inline
Nebeneinander
1 geänderte Datei
src/QUI/ERP/Utils/User.php
+41
-15
41 Ergänzungen, 15 Löschungen
src/QUI/ERP/Utils/User.php
wird angezeigt
mit
41 Ergänzungen
und
15 Löschungen
src/QUI/ERP/Utils/User.php
+
41
−
15
Zeige Datei @
7917f46a
...
...
@@ -27,6 +27,13 @@ class User
*/
const
IS_BRUTTO_USER
=
2
;
/**
* Runtime cache for user brutt/netto status
*
* @var array
*/
protected
static
$userBruttoNettoStatus
=
[];
/**
* Return the brutto netto status
* is the user a netto or brutto user
...
...
@@ -36,15 +43,22 @@ class User
*/
public
static
function
getBruttoNettoUserStatus
(
UserInterface
$User
)
{
$uid
=
$User
->
getId
();
if
(
isset
(
self
::
$userBruttoNettoStatus
[
$uid
]))
{
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
if
(
QUI
::
getUsers
()
->
isSystemUser
(
$User
))
{
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
if
(
$User
instanceof
QUI\ERP\User
&&
$User
->
hasBruttoNettoStatus
())
{
return
$User
->
isNetto
();
self
::
$userBruttoNettoStatus
[
$uid
]
=
$User
->
isNetto
();
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
$nettoStatus
=
$User
->
getAttribute
(
'quiqqer.erp.isNettoUser'
);
if
(
\is_numeric
(
$nettoStatus
))
{
...
...
@@ -54,20 +68,23 @@ public static function getBruttoNettoUserStatus(UserInterface $User)
switch
(
$nettoStatus
)
{
case
self
::
IS_NETTO_USER
:
case
self
::
IS_BRUTTO_USER
:
return
$nettoStatus
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
$nettoStatus
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
$euVatId
=
$User
->
getAttribute
(
'quiqqer.erp.euVatId'
);
$taxId
=
$User
->
getAttribute
(
'quiqqer.erp.taxId'
);
if
(
!
empty
(
$euVatId
)
||
!
empty
(
$taxId
))
{
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
try
{
$Package
=
QUI
::
getPackage
(
'quiqqer/tax'
);
}
catch
(
QUI\Exception
$Exception
)
{
return
self
::
IS_BRUTTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_BRUTTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
try
{
...
...
@@ -75,7 +92,8 @@ public static function getBruttoNettoUserStatus(UserInterface $User)
}
catch
(
QUI\Exception
$Exception
)
{
QUI\System\Log
::
writeDebugException
(
$Exception
);
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
// @todo quiqqer.erp.isNettoUser beachten, die eigenschaft ist besser, gab es damals noch nicht
...
...
@@ -88,10 +106,12 @@ public static function getBruttoNettoUserStatus(UserInterface $User)
&&
$Address
->
getAttribute
(
'company'
)
)
{
if
(
$Config
->
getValue
(
'shop'
,
'companyForceBruttoPrice'
))
{
return
self
::
IS_BRUTTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_BRUTTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
if
(
\is_array
(
$Address
)
...
...
@@ -99,10 +119,12 @@ public static function getBruttoNettoUserStatus(UserInterface $User)
&&
$Address
[
'company'
]
==
1
)
{
if
(
$Config
->
getValue
(
'shop'
,
'companyForceBruttoPrice'
))
{
return
self
::
IS_BRUTTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_BRUTTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
}
catch
(
QUI\Exception
$Exception
)
{
// no address found
...
...
@@ -114,7 +136,8 @@ public static function getBruttoNettoUserStatus(UserInterface $User)
$isNetto
=
$Config
->
getValue
(
'shop'
,
'isNetto'
);
if
(
$isNetto
)
{
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
...
...
@@ -122,13 +145,16 @@ public static function getBruttoNettoUserStatus(UserInterface $User)
$Tax
=
QUI\ERP\Tax\Utils
::
getTaxByUser
(
$User
);
if
(
$Tax
->
getValue
()
==
0
)
{
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
}
catch
(
QUI\Exception
$Exception
)
{
return
self
::
IS_NETTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_NETTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
return
self
::
IS_BRUTTO_USER
;
self
::
$userBruttoNettoStatus
[
$uid
]
=
self
::
IS_BRUTTO_USER
;
return
self
::
$userBruttoNettoStatus
[
$uid
];
}
/**
...
...
This diff is collapsed.
Zum Erweitern klicken.
Vorschau
0%
Wiederholen
oder
Neue Datei anhängen
.
Abbrechen
You are about to add
0
people
to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Kommentar speichern
Abbrechen
Bitte
registrieren
oder
Anmelden
zum Kommentieren