snapshot of https://github.com/cortezaproject/corteza.git (2024.9.x, 2026-09-18; blobs > 131072B omitted)
Some checks failed
SonarQube / SonarQube (push) Failing after 5m28s
E2e test on main branch push / server and client test (map[name:admin port:8080]) (push) Failing after 3m33s
Server and lib tests / Library test (js) (push) Failing after 1m36s
Server and lib tests / Library test (vue) (push) Successful in 2m24s
Server and lib tests / Web client test (admin) (push) Successful in 2m52s
Server and lib tests / Web client test (compose) (push) Successful in 3m23s
Server and lib tests / Web client test (discovery) (push) Successful in 2m49s
Server and lib tests / Web client test (one) (push) Successful in 2m52s
Server and lib tests / Web client test (privacy) (push) Successful in 2m44s
Server and lib tests / Web client test (reporter) (push) Successful in 2m56s
Server and lib tests / Web client test (workflow) (push) Successful in 3m0s
Server and lib tests / Server tests (push) Failing after 4m55s
E2e test on main branch push / notify-failure (push) Failing after 9s
Server and lib tests / Send matrix testing notification (push) Successful in 2s
Mark stale issues and pull requests / stale (push) Successful in 40s

This commit is contained in:
upstream-mirror
2026-09-18 01:22:23 +05:00
commit 7e385fc126
8391 changed files with 1766236 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
applications:
- one
- name: two

View File

@@ -0,0 +1,48 @@
namespace: crm
charts:
AccountsByRating:
name: Accounts by rating
config:
reports:
- dimensions:
- conditions: {}
field: Rating
meta: {}
modifier: (no grouping / buckets)
skipMissing: true
filter: ""
metrics:
- aggregate: AVG
field: count
fill: true
fixTooltips: false
label: Number of Accounts
lineTension: 0.4
type: line
module: Account
renderer: {}
yAxis:
label: Accounts
colorScheme: tableau.Tableau10
SalesYTD:
name: Sales YTD
config:
reports:
- dimensions:
- conditions: {}
field: LeadSource
meta:
steps:
- value: "150000"
- value: "500000"
- value: "1000000"
modifier: (no grouping / buckets)
filter: YEAR(created_at) = YEAR(NOW()) AND Amount IS NOT NULL
metrics:
- aggregate: SUM
field: Amount
type: gauge
module: Opportunity
renderer: {}
colorScheme: tableau.Traffic9
allow: { somerole: [ read ] }

View File

@@ -0,0 +1,9 @@
namespace: crm
charts:
ChartHandle:
allow:
authenticated:
- read
deny:
authenticated:
- delete

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
namespace: crm
modules:
Account:
name: Expressions
fields:
full:
expressions:
valueExpr: "a > b"
sanitizers: [ "trim(value)" ]
validators:
- test: 'a == ""'
error: Value should not be empty
disableDefaultValidators: true
validatorKV:
expressions:
validators:
'value == ""': Value should be filled

View File

@@ -0,0 +1,10 @@
namespace: crm
modules:
Account:
name: Account
allow:
authenticated:
- read
deny:
authenticated:
- delete

View File

@@ -0,0 +1,11 @@
namespace: ns1
modules:
mod1:
records:
source: mod1.csv
key: id
mapping:
- f1
-
- /
- f2

View File

@@ -0,0 +1,7 @@
namespace: ns1
modules:
mod1:
records:
key:
- f1
- f2

View File

@@ -0,0 +1,9 @@
namespace: ns1
modules:
mod1:
records:
mapping:
c1:
field: f1
c2:
field: f2

View File

@@ -0,0 +1,10 @@
namespaces:
crm:
name: CRM
allow:
authenticated:
- module.create
- read
deny:
authenticated:
- delete

View File

@@ -0,0 +1,206 @@
namespace: crm
pages:
- handle: Leads
title: Leads
allow: { somerole: [ read ] }
blocks:
- title: Leads by type
options:
chart: LeadsByType
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: Chart
xywh: [9, 0, 3, 8]
- title: New Leads Per Month
options:
chart: LeadsPerMonth
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: Chart
xywh: [9, 8, 3, 8]
- title: Leads
options:
allowExport: true
draggable: false
editFields: []
editable: false
fields:
- name: FirstName
- name: LastName
- name: Email
- name: Company
- name: Rating
- name: createdAt
hideRecordCloneButton: true
hideRecordEditButton: false
hideRecordReminderButton: true
hideRecordViewButton: true
module: Lead
perPage: 20
prefilter: ""
presort: createdAt DESC
selectMode: multi
selectable: true
selectionButtons: []
style:
variants: {border: primary, headerText: primary}
kind: RecordList
xywh: [0, 0, 9, 16]
children:
- handle: RecordPageForModuleLead
module: Lead
title: Record page for module "Lead"
blocks:
- title: Personal Data
options:
fields:
- name: FirstName
- name: LastName
- name: Salutation
- name: Title
- name: Phone
- name: MobilePhone
- name: Email
- name: Website
- name: Twitter
- name: LinkedIn
- name: Facebook
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: Record
xywh: [0, 0, 3, 15]
- title: Twitter feed
options:
profileSourceField: Twitter
profileUrl: ""
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: SocialFeed
xywh: [9, 0, 3, 31]
- title: Company Data
options:
fields:
- name: Company
- name: Industry
- name: AnnualRevenue
- name: NumberOfEmployees
- name: NumberOfEmployeesRange
- name: Country
- name: City
- name: Street
- name: State
- name: PostalCode
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: Record
xywh: [3, 0, 3, 15]
- title: Other Information
options:
fields:
- name: Rating
- name: CampaignId
- name: Status
- name: LeadSource
- name: OwnerId
- name: Description
- name: ConvertedAccountId
- name: ConvertedContactId
- name: ConvertedOpportunityId
- name: ConvertedDate
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: Record
xywh: [6, 0, 3, 15]
- title: Notes
options:
allowExport: true
draggable: false
editFields: []
editable: false
fields:
- name: Title
- name: Body
- name: createdAt
hideRecordCloneButton: true
hideRecordEditButton: false
hideRecordReminderButton: true
hideRecordViewButton: true
module: Note
perPage: 20
prefilter: LeadId = ${recordID}
presort: createdAt DESC
selectMode: multi
selectable: true
selectionButtons: []
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: RecordList
xywh: [0, 15, 6, 8]
- title: Events
options:
allowExport: true
draggable: false
editFields: []
editable: false
fields:
- name: Type
- name: Subject
- name: ActivityDate
hideRecordCloneButton: true
hideRecordEditButton: false
hideRecordReminderButton: true
hideRecordViewButton: true
module: Event
perPage: 20
prefilter: LeadId = ${recordID}
presort: ActivityDate DESC
selectMode: multi
selectable: true
selectionButtons: []
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: RecordList
xywh: [0, 23, 4, 8]
- title: Tasks
options:
allowExport: true
draggable: false
editFields: []
editable: false
fields:
- name: Type
- name: Subject
- name: Status
- name: ActivityDate
hideRecordCloneButton: true
hideRecordEditButton: false
hideRecordReminderButton: true
hideRecordViewButton: true
module: Task
perPage: 20
prefilter: LeadId = ${recordID}
presort: ActivityDate DESC
selectMode: multi
selectable: true
selectionButtons: []
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: RecordList
xywh: [4, 23, 5, 8]
- title: Lead Actions
options:
buttons:
- enabled: true
label: Convert this Lead into an Account
resourceType: compose:record
script: /client-scripts/compose/crm/Lead/ToAccount.js:default
- enabled: true
label: Convert this Lead into an Account and Opportunity
resourceType: compose:record
script: /client-scripts/compose/crm/Lead/ToAccountAndOpportunity.js:default
sealed: false
style:
variants: {bodyBg: white, border: primary, headerBg: white, headerText: primary}
kind: Automation
xywh: [6, 15, 3, 8]
visible: true

View File

@@ -0,0 +1,10 @@
modules:
mod1:
name: mod1 name
allow:
authenticated:
- op1
deny:
authenticated:
- op2

View File

@@ -0,0 +1,18 @@
namespace: service-solution
records:
Department:
- values:
Name: "Service"
HourCost: "50"
EmailTemplate:
- values:
Name: "Case Update"
Description: "This is the default case update template"
Subject: "Case: [{{Case.Number}}] {{Case.Subject}}"
Body: |-
<p><strong>Dear {{Contact.FirstName}}</strong></p>
Settings:
- values:
KBNextNumber: "1"
DefaultCostPerHour: "50"
DefaultTimeUpdate: "0.25"

View File

@@ -0,0 +1,14 @@
namespace: service-solution
records:
mod1:
- values:
f1: "mod1 f1 v1"
f2: "mod1 f2 v1"
mod2:
- values:
f1: "mod2 f1 v1"
f2: "mod2 f2 v1"
mod3:
- values:
f1: "mod3 f1 v1"
f2: "mod3 f2 v1"

View File

@@ -0,0 +1,52 @@
allow:
authenticated:
corteza::compose/:
- access
corteza::compose:namespace/*:
- read
corteza::compose:module/*/*:
- read
corteza::compose:page/*/*:
- read
corteza::compose:chart/*/*:
- read
admins:
corteza::compose/:
- access
- grant
- settings.read
- settings.manage
- namespace.create
corteza::compose:namespace/*:
- read
- update
- delete
- manage
- page.create
- module.create
- chart.create
corteza::compose:module/*/*:
- read
- update
- delete
- record.create
- record.read
- record.update
- record.delete
corteza::compose:chart/*/*:
- read
- update
- delete
corteza::compose:page/*/*:
- read
- update
- delete

View File

@@ -0,0 +1,8 @@
channels:
- name: General
topic: Talk about anything
type: public
- name: Random
type: public
- name: Secret
type: private

View File

@@ -0,0 +1,4 @@
roles:
r1: Role1
r2:
name: Role2

View File

@@ -0,0 +1,28 @@
settings:
privacy.mask.email: true
privacy.mask.name: true
auth.mail.email-confirmation.subject.en: Confirm your email address
auth.mail.email-confirmation.body.en: |-
{{.EmailHeaderEn}}
<h2 style="color: #FF9661;text-align: center;">Confirm your email address</h2>
<p>Hello,</p>
<p>Follow <a href="{{ .URL }}" style="color:#FF9661;">this link</a> to confirm your email address.</p>
<p>You will be logged in after successful confirmation.</p>
{{.EmailFooterEn}}
auth.mail.password-reset.subject.en: Reset your password
auth.mail.password-reset.body.en: |-
{{.EmailHeaderEn}}
<h2 style="color: #FF9661;text-align: center;">Reset your password</h2>
<p>Hello,</p>
<p>Follow <a href="{{ .URL }}" style="color:#FF9661;">this link</a> and reset your password.</p>
<p>You will be logged in after successful reset.</p>
{{.EmailFooterEn}}
compose.ui.namespace-switcher.enabled: false
compose.record.attachments.max-size: 10
compose.record.attachments.mimetypes: []
compose.page.attachments.max-size: 10
compose.page.attachments.mimetypes: []

View File

@@ -0,0 +1,5 @@
users:
u1: u1@example.tld
u2:
name: John Doe
email: jdoe@example.tld

View File

@@ -0,0 +1,75 @@
workflows:
testko_wf:
enabled: true
trace: true
keepSessions: 2
meta:
name: name here
description: description here
triggers:
- enabled: true
stepID: 101
resourceType: "compose:module"
eventType: "beforeCreate"
constraints:
- name: name
op: op
values:
- values
meta:
description: description
visual: {}
ownedBy: "219521853847258224"
createdAt: "2021-02-23T09:53:41Z"
createdBy: "219521853847258224"
updatedAt: "2021-02-23T09:53:41Z"
updatedBy: "219521853847258224"
deletedAt: "2021-02-23T09:53:41Z"
deletedBy: "219521853847258224"
steps:
- stepID: 101
kind: "termination"
arguments:
- target: target
source: source
expr: expr
value: value
type: type
tests:
- expr: expr
error: error
results:
- target: target
source: source
expr: expr
value: value
type: type
tests:
- expr: expr
error: error
meta:
name: name
description: description
visual: {}
paths:
- expr: expr
parentID: 101
childID: 101
meta:
name: name
description: description
visual: {}
runAs: "219521853847258224"
ownedBy: "219521853847258224"
createdAt: "2021-02-23T09:53:41Z"
createdBy: "219521853847258224"
updatedAt: "2021-02-23T09:53:41Z"
updatedBy: "219521853847258224"
deletedAt: "2021-02-23T09:53:41Z"
deletedBy: "219521853847258224"