EdeeShop · Implementace

Zákazník

Upraveno

Rozšíření související se zákazníkem se definuje v config/module-edeeshop/features/customer/user.xml.

Spadá sem:

Nastavení oprávnění

Tato konfigurace je povinná. Více info o nastavení oprávnění je popsáno zde.

Příklad konfigurace

xml
<user>    <registration>        <roles>            <role>                <assignWhen/>                <behaviour>COMMON</behaviour>                <resources>                    <resource>                        <name>ORDER</name>                        <rights>CRD</rights>                    </resource>                </resources>                <systemName>LOGGED_IN</systemName>            </role>        </roles>        <setupAuthorities>true</setupAuthorities>        <userFormForThirdParty>INDIVIDUAL</userFormForThirdParty>    </registration></user>

Popis

user/registration

VlastnostPopisHodnotaPovinnáVýchozí hodnota
roles/role

Nastavení rolí. Více o rolích zde.

Pokud je seznam prázdný, tak se aplikuje výchozí nastavení pro B2C e-shopy. Výchozí nastavení se přizpůsobuje zapnutím rozšířením.

Pro B2B e-shopy je nutné oprávnění definovat vždy.

List: roles/role

-

-

setupAuthorities

Řídí zda budou automaticky založeny v registration modulu odpovídající com.fg.registration.model.authority.Authority.

Výchozí hodnota: true.

boolean

-

true

userFormForThirdParty

Umožňuje nastavit typ uživatele, který se má nastavit, pokud uživatel vzniklá přihlášením přes sociální sítě.

Výchozí hodnota: INDIVIDUAL.

  • INDIVIDUAL - Fyzická osoba (B2C).
  • LEGAL_ENTITY - Zástupce právnické osoby (B2B).

-

INDIVIDUAL

roles/role

Nastavení rolí. Více o rolích zde.

Pokud je seznam prázdný, tak se aplikuje výchozí nastavení pro B2C e-shopy. Výchozí nastavení se přizpůsobuje zapnutím rozšířením.

Pro B2B e-shopy je nutné oprávnění definovat vždy.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
assignWhen

Umožňuje nastavit com.fg.query.constraint.FilteringConstraint podmínku, která je vyhodnocena před každým uložením uživatele do databáze a pokud je platná, tak automaticky zajistí přiřazení této role uživateli. Pokud platná není a uživatel roli má, je mu naopak odebrána.

String

-

-

behaviour

Tento výčet umožňuje definovat pro roli speciální druh chování v souvislosti s funkcionalitou převlékání uživatelů.

Výchozí hodnota: 'COMMON'.

  • COMMON - Běžná role bez speciálního významu.
  • PREVENTS_SWITCHING - Role zabraňuje ostatním uživatelům přehlásit se za uživatel, který tuto roli vlastní. Uživatel bude stále vidět ve výpisu uživatelů v systému, ale nebude možné se za něj "převléknout".
  • HIDDEN - Role zabraňuje ostatním uživatelů vidět uživatele, kteří tuto roli vlastní ani nebudou mít možnost se za tyto uživatele "převléknout". Tj. tato role inherentně obsahuje chování #PREVENTS_SWITCHING.

-

COMMON

resources/resource

Contains rights assignment toward specified secured resource.

List: resources/resource

-

-

systemName

Obsahuje systémový název role - bude automaticky založena v registration modulu, pokud neexistuje.

String

-

-

resources/resource

Contains rights assignment toward specified secured resource.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
name

Identifikace zdroje, který má být chráněn.

Seznam zdrojů je k dispozici zde. Jeho rozsah však závisí na zapnutých rozšířeních.

String

-

-

rights

Oprávnění pro daný zdroj.

Oprávnění se zapisuje odpovídajícími znaky (Right#getAbbreviation()) bez oddělovače.

Např. oprávnění pro "vytvoření", "čtení" a "odstranění" se zapíše jako "CRD".

String

-

-

Adresy zákazníka

Rozšíření, které nastavuje adresy zákazníka. Rozšíření je zapnuté automaticky, pokud je zapnuté rozšíření objednávek a tato konfigurace umožňuje změnit výchozí chování.

Příklad konfigurace

xml
<user>    <customerAddress>        <addressStatusResolver/>        <requestEmail/>    </customerAddress></user>

Popis

user/customerAddress

VlastnostPopisHodnotaPovinnáVýchozí hodnota
addressStatusResolver

Implementace řídící způsob nakládání s uživatelskými adresami - tj. jestli je možné adresy ihned po změně použít pro účely objednávek nebo nikoliv.

V základu jsou podporovány tyto implementace:

Výchozí hodnota: com.fg.cps.eshop.address.service.status.AlwaysValidAddressStatusResolver.

addressStatusResolver

-

class com.fg.cps.eshop.address.service.status.UserTypeDependentAddressStatusResolver

requestEmail

Obsahuje e-mail administrátora, na který mají odcházet požadavky na úpravy v adresách klientů.

Hodnota je nepovinná, ale pro B2B je doporučeno ji vyplnit, aby odcházely notifikace o změnách adres.

String

-

-

E-mail notifikace

V rámci tohoto rozšíření je možné odesílat notifikace o změnách v adresách.

Tyto notifikace se zapínají pomocí elementu <mailing>. Další nastavení mailingu je popsáno zde.

Příklad:

xml
<user>    <customerAddress>        <mailing/>    </customerAddress></user>

B2B - Firma

Rozšíření související s nastavením správy firem.

Příklad konfigurace

xml
<user>    <company>        <authorizationEmail/>        <companyBaseRole>COMPANY_OWNER</companyBaseRole>        <companyOwnerRole>COMPANY_OWNER</companyOwnerRole>        <companyRoles>            <companyRole/>        </companyRoles>        <fetchPublicCompanyInformation>true</fetchPublicCompanyInformation>        <removeInvitesAfter>14d</removeInvitesAfter>    </company></user>

Popis

user/company

Konfigurace company feature (B2B modul pro správu firemních uživatelů).

VlastnostPopisHodnotaPovinnáVýchozí hodnota
authorizationEmail

Obsahuje e-mail administrátora, na který mají odcházet požadavky na registrace nových společností.

String

✔

-

companyBaseRole

Obsahuje identifikaci role, která bude přiřazena dalšímu uživateli, který si zažádá o registraci k existující společnosti a bude schválen.

Výchozí hodnota: "COMPANY_OWNER".

String

-

COMPANY_OWNER

companyOwnerRole

Obsahuje identifikaci role, která bude přiřazena prvnímu uživateli po schválení společnosti.

Výchozí hodnota: "COMPANY_OWNER".

String

-

COMPANY_OWNER

companyRoles/companyRole

Obsahuje seznam rolí, které jsou použitelné v kontextu s ovládáním společnosti. V systému může být celá řada rolí, které nemusí mít vazbu na ovládání společnosti a proto je nutné nabídku rolí v administraci filtrovat pouze na ty, které mají smysl.

Pokud není nastaveno, vrací jedinou roli #companyOwnerRole.

String

-

-

fetchPublicCompanyInformation

Pokud je nastaveno na TRUE, dojde po založení firmy k načtení veřejně dostupných dat (v CZ např. ze systému ARES) a doplnění základních informací ke společnosti.

Výchozí hodnota: true.

boolean

-

true

removeInvitesAfter

Obsahuje interval, po kterém budou odstraněny všechny nepřijaté pozvánky. Výchozí hodnota: 14 dní.

TimeInterval

-

14d

E-mail notifikace

V rámci tohoto rozšíření je možné odesílat notifikace týkající se B2B.

Tyto notifikace se zapínají pomocí elementu <mailing>. Další nastavení mailingu je popsáno zde.

Příklad:

xml
<user>    <company>        <mailing/>    </company></user>