feat: VivesPOS landing on Winter CMS 1.2 — theme + plugin + Dockerfile
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
Some checks are pending
Module sub-split / Sub-split (push) Waiting to run
- Base: wintercms/winter branch 1.2 (full framework) - Theme vivespos: Canvas 7 + Bootstrap 5 CDN, custom CSS - Layout: deferred GTM/GA4 tracking, JSON-LD SoftwareApplication - Partials: hero (offline-first), features, modes (offline/nube toggle), screenshots, pricing (3 planes), comparison, FAQ, CTA - Plugin VivesPOS.Site with ContactForm - Dockerfile: PHP 8.2 Apache, port 80, healthcheck - Added winter/wn-pages, blog, sitemap, seo plugins - Active theme set to vivespos
This commit is contained in:
76
modules/backend/models/user/columns.yaml
Normal file
76
modules/backend/models/user/columns.yaml
Normal file
@@ -0,0 +1,76 @@
|
||||
# ===================================
|
||||
# Column Definitions
|
||||
# ===================================
|
||||
|
||||
columns:
|
||||
|
||||
first_name:
|
||||
label: backend::lang.user.first_name
|
||||
searchable: true
|
||||
invisible: true
|
||||
|
||||
last_name:
|
||||
label: backend::lang.user.last_name
|
||||
searchable: true
|
||||
invisible: true
|
||||
|
||||
full_name:
|
||||
label: backend::lang.user.full_name
|
||||
select: concat(first_name, ' ', last_name)
|
||||
searchable: true
|
||||
invisible: true
|
||||
|
||||
login:
|
||||
label: backend::lang.user.login
|
||||
searchable: true
|
||||
width: 15%
|
||||
|
||||
email:
|
||||
label: backend::lang.user.email
|
||||
searchable: true
|
||||
|
||||
groups:
|
||||
label: backend::lang.user.groups
|
||||
relation: groups
|
||||
select: name
|
||||
sortable: false
|
||||
|
||||
role:
|
||||
label: backend::lang.user.role.name
|
||||
relation: role
|
||||
select: name
|
||||
sortable: true
|
||||
searchable: true
|
||||
|
||||
last_login:
|
||||
label: backend::lang.user.last_login
|
||||
searchable: true
|
||||
type: datetime
|
||||
|
||||
created_at:
|
||||
label: backend::lang.user.created_at
|
||||
searchable: true
|
||||
invisible: true
|
||||
type: datetime
|
||||
|
||||
updated_at:
|
||||
label: backend::lang.user.updated_at
|
||||
searchable: true
|
||||
invisible: true
|
||||
type: datetime
|
||||
|
||||
deleted_at:
|
||||
label: backend::lang.user.deleted_at
|
||||
searchable: true
|
||||
invisible: true
|
||||
type: datetime
|
||||
|
||||
is_activated:
|
||||
label: backend::lang.user.activated
|
||||
invisible: true
|
||||
type: switch
|
||||
|
||||
is_superuser:
|
||||
label: backend::lang.user.superuser
|
||||
invisible: true
|
||||
type: switch
|
||||
109
modules/backend/models/user/fields.yaml
Normal file
109
modules/backend/models/user/fields.yaml
Normal file
@@ -0,0 +1,109 @@
|
||||
# ===================================
|
||||
# Field Definitions
|
||||
# ===================================
|
||||
|
||||
fields:
|
||||
first_name:
|
||||
span: left
|
||||
label: backend::lang.user.first_name
|
||||
last_name:
|
||||
span: right
|
||||
label: backend::lang.user.last_name
|
||||
login:
|
||||
span: left
|
||||
label: backend::lang.user.login
|
||||
email:
|
||||
span: right
|
||||
type: email
|
||||
label: backend::lang.user.email
|
||||
|
||||
tabs:
|
||||
defaultTab: backend::lang.user.account
|
||||
icons:
|
||||
backend::lang.user.account: icon-user
|
||||
backend::lang.user.groups: icon-users
|
||||
backend::lang.user.permissions: icon-key
|
||||
backend::lang.user.throttle_tab: icon-ban
|
||||
|
||||
fields:
|
||||
send_invite:
|
||||
context: create
|
||||
type: checkbox
|
||||
label: backend::lang.user.send_invite
|
||||
comment: backend::lang.user.send_invite_comment
|
||||
default: true
|
||||
|
||||
_auto_generate_password:
|
||||
context: create
|
||||
type: checkbox
|
||||
label: backend::lang.user.auto_generate_password
|
||||
comment: backend::lang.user.auto_generate_password_comment
|
||||
default: true
|
||||
trigger:
|
||||
action: show
|
||||
field: send_invite
|
||||
condition: checked
|
||||
|
||||
password:
|
||||
type: password
|
||||
span: left
|
||||
label: backend::lang.user.password
|
||||
trigger:
|
||||
action: disable
|
||||
field: _auto_generate_password
|
||||
condition: checked
|
||||
|
||||
password_confirmation:
|
||||
type: password
|
||||
span: right
|
||||
label: backend::lang.user.password_confirmation
|
||||
trigger:
|
||||
action: disable
|
||||
field: _auto_generate_password
|
||||
condition: checked
|
||||
|
||||
role:
|
||||
context: [create, update]
|
||||
label: backend::lang.user.role_field
|
||||
commentAbove: backend::lang.user.role_comment
|
||||
type: radio
|
||||
|
||||
groups:
|
||||
context: [create, update]
|
||||
label: backend::lang.user.groups
|
||||
commentAbove: backend::lang.user.groups_comment
|
||||
type: checkboxlist
|
||||
tab: backend::lang.user.groups
|
||||
|
||||
throttle:
|
||||
label: backend::lang.user.throttle_tab_label
|
||||
type: relationmanager
|
||||
tab: backend::lang.user.throttle_tab
|
||||
context: [update]
|
||||
commentAbove: backend::lang.user.throttle_comment
|
||||
|
||||
secondaryTabs:
|
||||
fields:
|
||||
btn_impersonate:
|
||||
label: ""
|
||||
context: [update]
|
||||
type: partial
|
||||
btn_unsuspend:
|
||||
label: ""
|
||||
context: [update]
|
||||
type: partial
|
||||
btn_password_reset:
|
||||
label: ""
|
||||
context: [update]
|
||||
type: partial
|
||||
avatar:
|
||||
label: backend::lang.user.avatar
|
||||
type: fileupload
|
||||
mode: image
|
||||
imageHeight: 250
|
||||
imageWidth: 250
|
||||
is_superuser:
|
||||
context: [create, update]
|
||||
label: backend::lang.user.superuser
|
||||
type: switch
|
||||
comment: backend::lang.user.superuser_comment
|
||||
Reference in New Issue
Block a user