Merge branch 'master' of https://git.startinblox.com/applications/hubl into feature/invoice

This commit is contained in:
Marjolaine Le Bon 2021-05-12 12:11:48 +02:00
commit bdc1291e0e
21 changed files with 285 additions and 33 deletions

View File

@ -579,6 +579,7 @@ Module declaration, on `config.json`:
"post": "http://server.url/resources/",
"types": "http://server.url/types/",
"keywords": "http://server.url/keywords/",
"circles": "http://server.url/circles",
"postTypes": "http://server.url/types/",
"postKeywords": "http://server.url/keywords/",
"uploads": "http://server.url/upload/"

1
src/images/photos.svg Normal file
View File

@ -0,0 +1 @@
<svg id="Layer_1" fill="#D0D4DA" enable-background="new 0 0 512.002 512.002" height="512" viewBox="0 0 512.002 512.002" width="512" xmlns="http://www.w3.org/2000/svg"><g><path d="m508.617 174.213c-2.762-3.771-6.828-6.241-11.447-6.954l-148.74-22.97v-126.78c0-9.649-7.851-17.5-17.5-17.5h-313.43c-9.649 0-17.5 7.851-17.5 17.5v313.628c0 9.649 7.851 17.5 17.5 17.5h116.806l-14.726 95.363c-1.458 9.436 5.187 18.511 14.624 19.967l309.757 47.837c9.224 1.424 18.53-5.332 19.965-14.625l8.01-51.867c1.48-9.583-13.345-11.875-14.824-2.289-1.009 6.531-5.669 54.737-10.862 53.957l-309.757-47.837c-1.484-.374-2.181-1.325-2.089-2.853l15.08-97.652h16.783l-12.199 78.99c-.632 4.094 2.174 7.925 6.268 8.557l267.09 41.248c3.77.58 7.964-2.431 8.557-6.268l41.321-267.566c.632-4.094-2.174-7.925-6.268-8.557l-122.607-18.935v-16.64l146.451 22.617c1.484.374 2.18 1.325 2.089 2.853l-34.017 220.267c-1.439 9.317 13.32 12.03 14.824 2.289l34.017-220.267c.714-4.62-.415-9.241-3.176-13.013zm-493.617 156.924v-313.628c0-1.379 1.122-2.5 2.5-2.5h313.429c1.378 0 2.5 1.121 2.5 2.5v313.628c0 1.379-1.122 2.5-2.5 2.5h-313.429c-1.378 0-2.5-1.121-2.5-2.5zm446.335-122.416-39.032 252.742-252.266-38.959 11.408-73.867h149.484c9.649 0 17.5-7.851 17.5-17.5v-139.853z"/><path d="m309.343 31.455h-270.257c-4.142 0-7.5 3.357-7.5 7.5v37.49c0 9.697 15 9.697 15 0v-29.99h255.256v255.738h-255.256v-185.86c0-9.697-15-9.697-15 0v193.36c0 4.143 3.358 7.5 7.5 7.5h270.256c4.142 0 7.5-3.357 7.5-7.5v-270.738c.001-4.143-3.357-7.5-7.499-7.5z"/><path d="m174.212 248.933c.979 0 1.958-.191 2.879-.575.842-.35 20.844-8.752 41.182-24.627 27.726-21.642 42.567-46.865 42.919-72.943.368-27.278-20.413-53.849-49.002-53.849-14.959 0-28.816 7.447-37.979 19.76-9.162-12.313-23.019-19.76-37.979-19.76-27.02 0-49.002 24.11-49.002 53.747 0 62.789 80.723 96.3 84.159 97.695.906.369 1.865.552 2.823.552zm-71.981-98.247c0-21.365 15.253-38.747 34.002-38.747 13.334 0 25.505 8.966 31.007 22.842 2.454 6.188 11.49 6.188 13.944 0 5.501-13.876 17.672-22.842 31.006-22.842 20.292 0 34.261 19.579 34.003 38.646-.626 46.424-58.409 76.256-72.02 82.64-13.707-6.278-71.942-35.715-71.942-82.539z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -197,12 +197,18 @@
},
"create": {
"backlink": "Back",
"title": " Create a nouveau project",
"title": " Create a new project",
"labelName": "Project name*",
"labelDescription": "Project description",
"descriptionHelp": "You can use markdown",
"labelCustomer": "Customer name*",
"labelCustomerAddress": "Customer address",
"labelCaptain": "Project captain*",
"labelBusinessprovider": "Business Input",
"labelBusinessproviderAdd": "Add a Business Provider",
"labelBusinessproviderRemove": "Remove",
"labelBusinessproviderName": "Business Provider Name",
"labelBusinessproviderFee": "Amount of contribution (%)",
"buttonSubmit": "Save"
},
"edit": {
@ -211,9 +217,14 @@
"title": "Edit your project",
"labelName": "Project name *",
"labelCustomer": "Customer name *",
"labelCustomerAddress": "Customer address",
"labelCaptain": "Captain *",
"labelDescription": "Project description",
"descriptionHelp": "You can use markdown",
"businessProviderTitle": "Business Provider : ",
"businessTableHeader1": "Business provider name",
"businessTableHeader2": "Amount of contribution (%)",
"buttonAddBusinessProvider": "Add",
"subTitle": "Team members :",
"tableHeader1": "Name",
"tableHeader2": "Access",
@ -252,6 +263,10 @@
"buttonJoin": "Join the project",
"captain": "Captain :",
"description": "Description :",
"clientInformations": "Client Informations : ",
"customerName": "Customer name : ",
"customerAddress": "Customer address : ",
"businessProvider": "Business Provider : ",
"subTitle": "Team :"
}
},

View File

@ -202,7 +202,13 @@
"labelDescription": "Descripción del proyecto",
"descriptionHelp": "Puedes usar markdown",
"labelCustomer": "Nombre del/la clientx *",
"labelCustomerAddress": "Dirección del/la clientx",
"labelCaptain": "Líder del proyecto *",
"labelBusinessprovider": "Contribución empresarial",
"labelBusinessproviderAdd": "Eliminar",
"labelBusinessproviderRemove": "Añadir la entrada del negocio",
"labelBusinessproviderName": "Nombre del contribuyente empresarial",
"labelBusinessproviderFee": "Importe de la contribución (%)",
"buttonSubmit": "Guardar"
},
"edit": {
@ -211,9 +217,14 @@
"title": "Modificar tu proyecto",
"labelName": "Nombre del proyecto *",
"labelCustomer": "Nombre del/la clientx *",
"labelCustomerAddress": "Dirección del/la clientx",
"labelCaptain": "Capitain *",
"labelDescription": "Descripción del proyecto",
"descriptionHelp": "Puedes usar markdown",
"businessProviderTitle": "Contribución empresarial : ",
"businessTableHeader1": "Nombre del contribuyente empresarial",
"businessTableHeader2": "Importe de la contribución (%)",
"buttonAddBusinessProvider": "Añadir",
"subTitle": "Lista de miembrxs: ",
"tableHeader1": "Nombre",
"tableHeader2": "Acceso",
@ -252,6 +263,10 @@
"buttonJoin": "Unirse al proyecto",
"captain": "Líder : ",
"description": "Descripción :",
"clientInformations": "información al clientx : ",
"customerName": "Nombre del/la clientx : ",
"customerAddress": "Dirección del/la clientx : ",
"businessProvider": "Contribución empresarial : ",
"subTitle": "Equipo : "
}
},

View File

@ -200,7 +200,13 @@
"labelDescription": "Description du projet",
"descriptionHelp": "Vous pouvez utiliser Markdown",
"labelCustomer": "Nom du client*",
"labelCustomerAddress": "Adresse du client",
"labelCaptain": "Capitaine du projet*",
"labelBusinessprovider": "Apport d'affaire",
"labelBusinessproviderAdd": "Ajouter de l'apport d'affaire",
"labelBusinessproviderRemove": "Retirer",
"labelBusinessproviderName": "Nom de l'apporteur d'affaire",
"labelBusinessproviderFee": "Montant de l'apport d'affaire (%)",
"buttonSubmit": "Enregistrer"
},
"edit": {
@ -209,9 +215,14 @@
"title": "Modifie ton projet",
"labelName": "Nom du projet *",
"labelCustomer": "Nom du client *",
"labelCustomerAddress": "Adresse du client",
"labelCaptain": "Capitaine *",
"labelDescription": "Description du projet",
"descriptionHelp": "Vous pouvez utiliser Markdown",
"businessProviderTitle": "Apport d'affaire : ",
"businessTableHeader1": "Nom de l'apporteur d'affaire",
"businessTableHeader2": "Montant de l'apport d'affaire (%)",
"buttonAddBusinessProvider": "Ajouter",
"subTitle": "Liste des membres :",
"tableHeader1": "Nom",
"tableHeader2": "Accès",
@ -250,6 +261,10 @@
"buttonJoin": "Rejoindre le projet",
"captain": "Capitaine :",
"description": "Description :",
"clientInformations": "Informations sur le client : ",
"customerName": "Nom du client : ",
"customerAddress": "Adresse du client : ",
"businessProvider": "Apport d'affaire : ",
"subTitle": "Equipe :"
}
},

View File

@ -176,6 +176,10 @@
background-size: cover;
}
}
.picture-empty {
display: none;
}
}
.communities-map {
@ -343,8 +347,40 @@
}
}
}
.flex {
display: flex;
@media (min-width: 768.01px) {
.communities-profile-picture {
.picture-empty {
display: flex;
justify-content: center;
align-items: center;
object {
height: 100px;
width: 100px;
object-fit: cover;
object-position: center;
}
}
&:nth-child(2)>.picture-empty {
background: #E4E9F1;
svg {
fill: #D0D4DA;
}
}
&:nth-child(1)>.picture-empty,
&:nth-child(3)>.picture-empty {
background: #E9F2FF;
svg {
fill: #D7E2F3;
}
}
}
}
}

View File

@ -42,6 +42,7 @@ solid-display>div {
@import 'chat';
@import 'forms';
@import 'communities';
@import 'projects';
@import 'admin-circles';
nav#main__menu {

View File

@ -166,6 +166,7 @@ nav#main__menu {
margin-right: 15px;
margin-left: 3px;
vertical-align: middle;
width: calc(75% - 15px);
}
}

View File

@ -0,0 +1,52 @@
#admin-projects-create .form solid-multiple-form {
height: 100%;
button {
border: 1px solid var(--color-secondary);
text-transform: uppercase;
color: var(--color-secondary);
background-color: white;
font-weight: 700;
padding: 9px 20px;
font-size: 12px;
line-height: 14px;
border-radius: 16.5px;
}
button:hover {
background-color: var(--color-secondary);
color: white;
}
}
#projects-edit .edit-businessprovider form {
display: table-row;
border-bottom: 1px solid #C9C8C8;
border-right: 1px solid #C9C8C8;
.segment.table-cell {
border-bottom: 1px solid #C9C8C8;
border-right: 1px solid #C9C8C8;
height: 60px;
padding: 10px;
}
[type="submit"] {
float: none;
display: flex;
margin: 19px auto;
color: var(--color-secondary);
background-color: white;
}
[type="submit"]:hover {
background-color: var(--color-secondary);
color: white;
}
}
#projects-information .display-businessprovider {
[name="name"]::after {
content: " - ";
margin-left: 5px;
}
[name="fee"]:after {
content: " %";
}
> div > solid-display:not(:first-child) [name="titlebusinessprovider"] {
display: none;
}
}

View File

@ -16,7 +16,7 @@
include partials/circle/page-circle-profile.pug
if component.extensions
for extension of component.extensions
if extension.type == 'events'
if extension.type == 'events' && extension.route
div(
id=`${extension.route}-events`
hidden
@ -24,7 +24,7 @@
no-render
)
include partials/circle/page-circle-events.pug
if extension.type == 'resources'
if extension.type == 'resources' && extension.route
div(
id=`${extension.route}-resources`
hidden
@ -32,7 +32,7 @@
no-render
)
include partials/circle/page-circle-resources.pug
if extension.type == 'polls'
if extension.type == 'polls' && extension.route
div(
id=`${extension.route}-polls`
hidden
@ -59,17 +59,17 @@ nav.jsRightMenu.segment.sm-hidden.text-disable-selection.sidebar.whitespace-norm
a(data-trans='circle.menuRight.information')
if component.extensions
for extension of component.extensions
if extension.type == 'resources'
if extension.type == 'resources' && extension.route
solid-route.segment.full(name=`${extension.route}-resources` use-id)
li.segment.full.padding-medium
span.icon.ci-file.icon-xlarge.margin-right-medium
a(data-trans='circle.menuRight.resources')
if extension.type == 'events'
if extension.type == 'events' && extension.route
solid-route.segment.full(name=`${extension.route}-events` use-id)
li.segment.full.padding-medium
span.icon.ci-appointment.icon-xlarge.margin-right-medium
a(data-trans='circle.menuRight.events')
if extension.type == 'polls'
if extension.type == 'polls' && extension.route
solid-route.segment.full(name=`${extension.route}-polls` use-id)
li.segment.full.padding-medium
span.icon.ci-list.icon-xlarge.margin-right-medium

View File

@ -23,7 +23,7 @@
include partials/project/page-project-picture.pug
if component.extensions
for extension of component.extensions
if extension.type == 'invoices'
if extension.type == 'invoices' && extension.route
div(
id=`${extension.route}-invoices`
hidden
@ -51,7 +51,7 @@ nav.jsRightMenu.segment.sm-hidden.text-disable-selection.sidebar.whitespace-norm
solid-route(name=`${component.route}-picture` use-id)
if component.extensions
for extension of component.extensions
if extension.type == 'invoices'
if extension.type == 'invoices' && extension.route
solid-route.segment.full(name=`${extension.route}-invoices` use-id)
li.segment.full.padding-medium
span.icon.ci-receipt.icon-xlarge.margin-right-medium

View File

@ -5,12 +5,10 @@ div.whitespace-normal
post-data-type-src=`${component.endpoints.postTypes}`
range-resource-keyword=`${component.endpoints.keywords}`
post-data-keyword-src=`${component.endpoints.postKeywords}`
range-resource-circle=`${getComponent('circles').endpoints.get}/`
circles=`${component.endpoints.circles}/`
associated-circle-label=""
data-trans=`associated-circle-label=${component.parameters && component.parameters.associatedName ? component.parameters.associatedName : 'circle.extensions.associated'}`
upload-dir=`${component.endpoints.uploads}`
id-prefix='default'
uniq=component.uniq
)

View File

@ -16,7 +16,6 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
solid-form.form(
data-src=`${getComponent('projects').endpoints.post}`
fields='status, customer.name, name, description, help, captain, linebreak'
range-captain=`${getComponent('projects').endpoints.captains}`
required-status
@ -27,17 +26,24 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
label-status=''
label-customer.name=''
label-customer.address=''
label-name=''
label-description=''
label-help=''
label-captain=''
label-businessprovider=''
class-customer.name='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-name='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-customer.address='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-description='segment margin-bottom-xxsmall full text-small text-semibold text-uppercase text-color-heading'
class-help='segment full text-small margin-bottom-medium padding-left-small'
class-captain='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal'
class-linebreak='segment full sm-hidden'
class-businessprovider="segment full margin-bottom-medium"
multiple-businessprovider
widget-businessprovider="hubl-project-businessprovider"
multiple-businessprovider-add-label=''
multiple-businessprovider-remove-label=''
widget-status='solid-form-hidden'
value-status='Private'
@ -50,5 +56,10 @@ div.segment.full.padding-large.sm-padding-xsmall.sm-padding-top-medium.whitespac
submit-widget="button"
next=getRoute('projects', true)
data-trans='label-status=project.create.labelStatus;label-customer.name=project.create.labelCustomer;label-name=project.create.labelName;label-description=project.create.labelDescription;label-captain=project.create.labelCaptain;label-help=project.create.descriptionHelp;submit-button=project.create.buttonSubmit'
)
data-trans='label-status=project.create.labelStatus;label-customer.name=project.create.labelCustomer;label-customer.address=project.create.labelCustomerAddress;label-businessprovider=project.create.labelBusinessprovider;multiple-businessprovider-add-label=project.create.labelBusinessproviderAdd;multiple-businessprovider-remove-label=project.create.labelBusinessproviderRemove;label-name=project.create.labelName;label-description=project.create.labelDescription;label-captain=project.create.labelCaptain;label-help=project.create.descriptionHelp;submit-button=project.create.buttonSubmit'
)&attributes({
"fields": componentSet.has('invoices') ? "status, customer.name, customer.address, name, captain, businessprovider, description, help, linebreak" : "status, customer.name, name, description, help, captain, linebreak",
"class-captain": componentSet.has('invoices') ? 'segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal' : 'segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal',
"class-name": componentSet.has('invoices') ? 'segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading' : 'segment margin-bottom-medium half sm-full sm-padding-none text-small text-semibold text-uppercase text-color-heading'
})

View File

@ -6,7 +6,7 @@ solid-resource(
post-data-type-src=`${extension.endpoints.postTypes}`
range-resource-keyword=`${extension.endpoints.keywords}`
post-data-keyword-src=`${extension.endpoints.postKeywords}`
range-resource-circle=`${getComponent('circles').endpoints.get}/`
circles=`${extension.endpoints.circles}/`
associated-circle-label=""
data-trans=`associated-circle-label=${extension.parameters && extension.parameters.associatedName ? extension.parameters.associatedName : 'circle.extensions.associated'}`
upload-dir=`${extension.endpoints.uploads}`

View File

@ -41,10 +41,10 @@ div.community-profile.padding-medium.sm-padding-none
class-segment10="segment full text-right"
class-segment11="segment full whitespace-normal flex"
class-profile.picture1="communities-profile-picture segment third sm-full"
class-profile.picture2="communities-profile-picture segment third sm-full"
class-profile.picture3="communities-profile-picture segment third sm-full"
class-segment11="segment full whitespace-normal"
class-profile.picture1="communities-profile-picture segment third sm-full text-top"
class-profile.picture2="communities-profile-picture segment third sm-full text-top"
class-profile.picture3="communities-profile-picture segment third sm-full text-top"
widget-logo="hubl-communities-profile-logo"
widget-profile.description="solid-display-value-markdown"

View File

@ -80,7 +80,7 @@ solid-router#navbar-router(default-route=defaultRoute)
solid-link.segment.block.menu-icon.icon.icon-small.icon-user-follow(next=getRoute('profileDirectory', true))
solid-badge.badge(data-type="Message")
solid-route(name=`admin-${component.route}`, hidden)
solid-route(name=`admin-${component.route}-create` hidden)
solid-route(name=`admin-${component.route}-create` use-id='' hidden)
solid-route(name=component.route, rdf-type='foaf:user', use-id='', hidden)
div.sub-menu.menu-notification.padding-bottom-xxsmall.jsMenuSub
div.loader.loader-menu(id=`loader-${component.route}`)

View File

@ -32,7 +32,6 @@ div.segment.full.padding-large.whitespace-normal
solid-form.form(
bind-resources
fields='customer.name, name, description, help, captain, linebreak'
required-customer.name
required-name
required-captain
@ -40,14 +39,14 @@ div.segment.full.padding-large.whitespace-normal
label-name=''
label-customer.name=''
label-customer.address=''
label-description=''
label-captain=''
label-help=''
class-customer.name='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-name='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-customer.address='segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading'
class-description='segment margin-bottom-xxsmall full text-small text-semibold text-uppercase text-color-heading'
class-captain='segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal'
class-linebreak='segment full'
class-help='segment full sm-full text-small margin-bottom-medium padding-left-small'
@ -62,8 +61,66 @@ div.segment.full.padding-large.whitespace-normal
submit-widget="button"
next=`${component.route}-information`
data-trans='label-name=project.edit.labelName;label-captain=project.edit.labelCaptain;label-customer.name=project.edit.labelCustomer;label-description=project.edit.labelDescription;label-help=project.edit.descriptionHelp;submit-button=project.edit.buttonSubmit'
)
data-trans='label-name=project.edit.labelName;label-captain=project.edit.labelCaptain;label-customer.name=project.edit.labelCustomer;label-customer.address=project.edit.labelCustomerAddress;label-description=project.edit.labelDescription;label-help=project.edit.descriptionHelp;submit-button=project.edit.buttonSubmit'
)&attributes({
"fields": componentSet.has('invoices') ? "customer.name, customer.address, name, captain, description, help, linebreak" : "customer.name, name, description, help, captain, linebreak",
"class-captain": componentSet.has('invoices') ? 'segment margin-bottom-medium half sm-full padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal' : 'segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading whitespace-normal',
"class-name": componentSet.has('invoices') ? 'segment margin-bottom-medium half sm-full padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading' : 'segment margin-bottom-medium half sm-full sm-padding-none text-small text-semibold text-uppercase text-color-heading'
})
if componentSet.has("invoices")
h3.segment.full.padding-bottom-small.border-bottom.border-color-grey.text-color-heading.text-bold.text-letter-spacing-large(data-trans='project.edit.businessProviderTitle')
.segment.table-wrapper.margin-top-medium
.table
div.table-header.bg-color-third.text-color-heading
div.segment.table-cell.third(data-trans='project.edit.businessTableHeader1')
div.segment.table-cell.third(data-trans='project.edit.businessTableHeader2')
div.segment.table-cell.third
solid-display(
bind-resources
class='table-body'
nested-field='businessprovider'
fields='segment1(name), segment2(fee), remove'
class-segment1='segment table-cell third text-center'
class-segment2='segment table-cell third text-center'
class-remove='segment table-cell third text-center'
class-name='text-small text-semibold'
class-fee='text-small text-semibold'
multiple-businessprovider
multiple-businessprovider-fields="name, fee"
action-remove='remove'
widget-remove='hubl-circle-edit-members-delete'
)
solid-form.form.table-body.edit-businessprovider(
bind-resources
class='table-body'
nested-field='businessprovider'
fields='segment1(name), segment2(fee)'
placeholder-name=""
placeholder-fee=""
class-segment1='segment table-cell third text-center'
class-segment2='segment table-cell third text-center'
class-name="segment full text-small"
class-fee="segment full text-small"
widget-name="solid-form-placeholder-text"
widget-fee="solid-form-placeholder-text"
submit-button=''
submit-widget="button"
data-trans='submit-button=project.edit.buttonAddBusinessProvider;placeholder-name=project.edit.businessTableHeader1;placeholder-fee=project.edit.businessTableHeader2'
)
h3.segment.full.padding-bottom-small.border-bottom.border-color-grey.text-color-heading.text-bold.text-letter-spacing-large(data-trans='project.edit.subTitle')

View File

@ -102,6 +102,37 @@ div(
class-description='segment margin-bottom-large whitespace-normal'
widget-description='solid-display-value-markdown'
)
if componentSet.has("invoices")
h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='project.profile.clientInformations')
solid-display.segment.full.labelled-avatar.two-lines.whitespace-normal.children.children-full.sm-children-full.margin-bottom-medium(
bind-resources
fields='customerName(titlecustomername, customer.name), customerAddress(titlecustomeraddress, customer.address)'
value-titlecustomername=''
value-titlecustomeraddress=''
class-customerName="segment block"
class-customerAddress="segment block margin-top-small margin-bottom-medium whitespace-normal"
class-titlecustomername="text-semibold text-color-heading margin-right-xxsmall"
class-titlecustomeraddress="text-semibold text-color-heading margin-right-xxsmall"
data-trans='value-titlecustomername=project.profile.customerName;value-titlecustomeraddress=project.profile.customerAddress'
)
solid-display.segment.block.full.labelled-avatar.two-lines.whitespace-normal.children.children-full.sm-children-full.margin-bottom-medium.display-businessprovider(
bind-resources
nested-field='businessprovider'
fields='titlebusinessprovider, businessProvider(name, fee)'
value-titlebusinessprovider=''
class-titlebusinessprovider="segment block text-color-heading text-bold text-letter-spacing-large text-xlarge margin-bottom-small"
class-businessProvider="segment block margin-bottom-xsmall"
class-fee="margin-left-xxsmall"
data-trans='value-titlebusinessprovider=project.profile.businessProvider'
)
h3.text-color-heading.text-bold.text-letter-spacing-large(data-trans='project.profile.subTitle')

View File

@ -48,6 +48,7 @@ include widgets/hubl-menu-jabberid.pug
include widgets/hubl-menu-publicprivate.pug
include widgets/hubl-project-admins.pug
include widgets/hubl-project-captain.pug
include widgets/hubl-project-businessprovider.pug
include widgets/hubl-project-edit-admin.pug
include widgets/hubl-project-edit-members-delete.pug
include widgets/hubl-project-team-contact.pug

View File

@ -1,3 +1,3 @@
if componentSet.has('communities') && getRoute('communities')
solid-widget(name='hubl-communities-profile-picture')
template ${value != "" ? `<div><div \style="background-image:url(${value});"></div></div>` : `<div class="picture-empty"></div>`}
template ${value != "" ? `<div><div \style="background-image:url(${value});"></div></div>` : `<div class="picture-empty"><object type="image/svg+xml" data="/images/photos.svg"></object></div>`}

View File

@ -0,0 +1,17 @@
if componentSet.has('invoice') && componentSet.has('projects')
solid-widget(name="hubl-project-businessprovider")
template
solid-form.segment.three-quarter.sm-full.margin-right-medium.margin-bottom-small(
data-src="\${value}"
data-holder
naked
fields="name, fee"
label-name=''
label-fee=''
class-name="segment two-third padding-right-small sm-padding-none text-small text-semibold text-uppercase text-color-heading"
class-fee="segment third padding-left-small sm-padding-none text-small text-semibold text-uppercase text-color-heading"
data-trans='label-name=project.create.labelBusinessproviderName;label-fee=project.create.labelBusinessproviderFee'
)