merge
This commit is contained in:
commit
3f9c8bbebf
68 changed files with 1875 additions and 26 deletions
15
public/site/blueprints/files/image.yml
Normal file
15
public/site/blueprints/files/image.yml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
title: Image
|
||||
|
||||
accept:
|
||||
mime: image/*
|
||||
type: image
|
||||
focus: false
|
||||
|
||||
fields:
|
||||
description:
|
||||
type: textarea
|
||||
buttons: false
|
||||
size: small
|
||||
width: 1/2
|
||||
# tags:
|
||||
# type: tags
|
||||
5
public/site/blueprints/files/pdf.yml
Normal file
5
public/site/blueprints/files/pdf.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
title: PDF
|
||||
|
||||
accept:
|
||||
mime: application/pdf
|
||||
focus: false
|
||||
45
public/site/blueprints/pages/client.yml
Normal file
45
public/site/blueprints/pages/client.yml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
title: Client
|
||||
|
||||
tabs:
|
||||
projects:
|
||||
label: Projets
|
||||
icon: folder
|
||||
columns:
|
||||
- width: 1/2
|
||||
sections:
|
||||
projectsListed:
|
||||
extends: sections/projects
|
||||
headline: Projets en cours
|
||||
query: page.projectsListed
|
||||
status: unlisted
|
||||
columns:
|
||||
title: true
|
||||
client: false
|
||||
- width: 1/2
|
||||
sections:
|
||||
projectsUnlisted:
|
||||
extends: sections/projects
|
||||
headline: Projets archivés
|
||||
query: page.projectsUnlisted
|
||||
status: unlisted
|
||||
columns:
|
||||
title: true
|
||||
client: false
|
||||
|
||||
brand:
|
||||
label: Brand
|
||||
icon: palette
|
||||
fields:
|
||||
logo:
|
||||
type: files
|
||||
multiple: false
|
||||
layout: cards
|
||||
image:
|
||||
ratio: 1/1
|
||||
back: white
|
||||
width: 1/6
|
||||
color:
|
||||
label: Couleur
|
||||
type: color
|
||||
width: 2/6
|
||||
files: tabs/files
|
||||
21
public/site/blueprints/pages/clients.yml
Normal file
21
public/site/blueprints/pages/clients.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
title: Clients
|
||||
|
||||
sections:
|
||||
pages:
|
||||
label: Tous les clients
|
||||
status: all
|
||||
templates: client
|
||||
layout: table
|
||||
columns:
|
||||
title:
|
||||
label: Nom
|
||||
projectsListed:
|
||||
label: En cours
|
||||
value: "{{ page.projectsListed.count }}"
|
||||
width: 1/12
|
||||
projectsUnlisted:
|
||||
label: Archivés
|
||||
value: "{{ page.projectsUnlisted.count }}"
|
||||
width: 1/12
|
||||
image:
|
||||
cover: true
|
||||
|
|
@ -1,7 +1 @@
|
|||
fields:
|
||||
testImages:
|
||||
type: files
|
||||
testText:
|
||||
type: text
|
||||
testBlocks:
|
||||
type: blocks
|
||||
title: Home
|
||||
|
|
|
|||
67
public/site/blueprints/pages/project.yml
Normal file
67
public/site/blueprints/pages/project.yml
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
title: Projet
|
||||
icon: page
|
||||
|
||||
tabs:
|
||||
brief:
|
||||
label: Brief client
|
||||
icon: document
|
||||
columns:
|
||||
- width: 1/2
|
||||
sections:
|
||||
brief:
|
||||
type: fields
|
||||
fields:
|
||||
client:
|
||||
type: pages
|
||||
multiple: false
|
||||
query: site.find("clients").childrenAndDrafts
|
||||
subpages: false
|
||||
image:
|
||||
query: page.logo.toFile
|
||||
layout: cardlets
|
||||
width: 1/2
|
||||
briefClientPdf:
|
||||
label: PDF
|
||||
type: files
|
||||
multiple: false
|
||||
uploads: pdf
|
||||
layout: cardlets
|
||||
width: 1/2
|
||||
- width: 1/2
|
||||
sections:
|
||||
description:
|
||||
type: fields
|
||||
fields:
|
||||
description:
|
||||
type: textarea
|
||||
size: tiny
|
||||
buttons: false
|
||||
maxlength: 700
|
||||
- width: 1/1
|
||||
sections:
|
||||
images:
|
||||
type: fields
|
||||
fields:
|
||||
briefClientImages:
|
||||
label: Images
|
||||
type: files
|
||||
uploads: image
|
||||
layout: cards
|
||||
size: medium
|
||||
# client:
|
||||
# label: Client
|
||||
# icon: account
|
||||
# columns:
|
||||
# - width: 1/1
|
||||
# sections:
|
||||
# client:
|
||||
# type: fields
|
||||
# fields:
|
||||
# client:
|
||||
# type: pages
|
||||
# multiple: false
|
||||
# query: site.find("clients").childrenAndDrafts
|
||||
# subpages: false
|
||||
# layout: cards
|
||||
# size: medium
|
||||
files: tabs/files
|
||||
15
public/site/blueprints/pages/projects.yml
Normal file
15
public/site/blueprints/pages/projects.yml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
title: Projets
|
||||
|
||||
sections:
|
||||
drafts:
|
||||
extends: sections/projects
|
||||
headline: Brouillons
|
||||
status: draft
|
||||
listed:
|
||||
extends: sections/projects
|
||||
headline: En cours
|
||||
status: listed
|
||||
unlisted:
|
||||
extends: sections/projects
|
||||
headline: Archivés
|
||||
status: unlisted
|
||||
11
public/site/blueprints/sections/projects.yml
Normal file
11
public/site/blueprints/sections/projects.yml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
type: pages
|
||||
headline: Projets
|
||||
template: project
|
||||
layout: table
|
||||
columns:
|
||||
title:
|
||||
label: Titre
|
||||
client: true
|
||||
empty: Pas encore de projet
|
||||
image: false
|
||||
search: true
|
||||
|
|
@ -1,5 +1,41 @@
|
|||
title: Site
|
||||
|
||||
sections:
|
||||
pages:
|
||||
type: pages
|
||||
tabs:
|
||||
dashboard:
|
||||
label: Dashboard
|
||||
icon: dashboard
|
||||
columns:
|
||||
clients:
|
||||
width: 1/2
|
||||
sections:
|
||||
clients:
|
||||
label: Clients
|
||||
type: pages
|
||||
parent: site.find("clients")
|
||||
template: client
|
||||
search: true
|
||||
image:
|
||||
back: white
|
||||
projects:
|
||||
width: 1/2
|
||||
sections:
|
||||
projects:
|
||||
extends: sections/projects
|
||||
headline: Projets récement modifiés
|
||||
parent: site.find("projects")
|
||||
layout: list
|
||||
sortBy: modified desc
|
||||
settings:
|
||||
label: Paramètres
|
||||
icon: cog
|
||||
columns:
|
||||
- width: 1/1
|
||||
sections:
|
||||
settings:
|
||||
label: Paramètres
|
||||
type: fields
|
||||
fields:
|
||||
briefClientImagesTags:
|
||||
label: Tags des images de Brief client
|
||||
help: Ensemble des tags d’images disponibles lors de la création du Brief client
|
||||
type: tags
|
||||
|
|
|
|||
15
public/site/blueprints/tabs/files.yml
Normal file
15
public/site/blueprints/tabs/files.yml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
label:
|
||||
en: Files
|
||||
fr: Fichiers
|
||||
icon: images
|
||||
|
||||
columns:
|
||||
- width: 1/1
|
||||
sections:
|
||||
files:
|
||||
label:
|
||||
en: Files
|
||||
fr: Fichiers
|
||||
type: files
|
||||
layout: cards
|
||||
size: small
|
||||
1
public/site/blueprints/users/admin.yml
Normal file
1
public/site/blueprints/users/admin.yml
Normal file
|
|
@ -0,0 +1 @@
|
|||
title: Admin
|
||||
4
public/site/blueprints/users/client.yml
Normal file
4
public/site/blueprints/users/client.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
title: Client
|
||||
permissions:
|
||||
access:
|
||||
panel: false
|
||||
3
public/site/blueprints/users/project-manager.yml
Normal file
3
public/site/blueprints/users/project-manager.yml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
title:
|
||||
fr: Chef·fe de projet
|
||||
en: Project Manager
|
||||
|
|
@ -7,7 +7,68 @@ return [
|
|||
// Enable api access without SSL. To disable in production.
|
||||
'allowInsecure' => true
|
||||
],
|
||||
'content' => [
|
||||
'uuid' => false
|
||||
'panel' => [
|
||||
'language' => 'fr',
|
||||
'css' => 'assets/css/panel.css',
|
||||
'favicon' => 'assets/favicons/favicon.svg',
|
||||
'menu' => [
|
||||
'site' => [
|
||||
'label' => 'Dashboard',
|
||||
'icon' => 'dashboard',
|
||||
'current' => function (string $current): bool {
|
||||
// the links of all your custom menu entries
|
||||
$links = [
|
||||
'pages/clients',
|
||||
'pages/projects',
|
||||
'pages/notifications',
|
||||
'pages/events'
|
||||
];
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return
|
||||
$current === 'site' &&
|
||||
A::every($links, fn ($link) => Str::contains($path, $link) === false);
|
||||
}
|
||||
],
|
||||
'clients' => [
|
||||
'label' => 'Clients',
|
||||
'icon' => 'account',
|
||||
'link' => 'pages/clients',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/clients');
|
||||
}
|
||||
],
|
||||
'projects' => [
|
||||
'label' => 'Projets',
|
||||
'icon' => 'folder',
|
||||
'link' => 'pages/projects',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/projects');
|
||||
}
|
||||
],
|
||||
'-',
|
||||
'notifications' => [
|
||||
'label' => 'Notifications',
|
||||
'icon' => 'bell',
|
||||
'link' => 'pages/notifications',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/notifications');
|
||||
}
|
||||
],
|
||||
'events' => [
|
||||
'label' => 'Événements',
|
||||
'icon' => 'calendar',
|
||||
'link' => 'pages/events',
|
||||
'current' => function (string $current): bool {
|
||||
$path = Kirby\Cms\App::instance()->path();
|
||||
return Str::contains($path, 'pages/events');
|
||||
}
|
||||
],
|
||||
'-',
|
||||
'users',
|
||||
'system'
|
||||
]
|
||||
]
|
||||
];
|
||||
];
|
||||
|
|
|
|||
18
public/site/models/client.php
Normal file
18
public/site/models/client.php
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
class ClientPage extends Page {
|
||||
public function projects() {
|
||||
return page('projects')->children()->filterBy('intendedTemplate', 'project')->filterBy(function($project) {
|
||||
return $project->client()->toPage() === $this;
|
||||
});
|
||||
}
|
||||
public function projectsListed() {
|
||||
return page('projects')->children()->listed()->filterBy('intendedTemplate', 'project')->filterBy(function($project) {
|
||||
return $project->client()->toPage() === $this;
|
||||
});
|
||||
}
|
||||
public function projectsUnlisted() {
|
||||
return page('projects')->children()->unlisted()->filterBy('intendedTemplate', 'project')->filterBy(function($project) {
|
||||
return $project->client()->toPage() === $this;
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue