소스 검색

Merge branch 'develop' of https://gitea.laclic.fr/Laclic/LcShopBundle into develop

feature/export_comptable
Fab 4 년 전
부모
커밋
2027093a46
6개의 변경된 파일772개의 추가작업 그리고 29개의 파일을 삭제
  1. +1
    -0
      ShopBundle/.gitignore
  2. +8
    -0
      ShopBundle/Repository/DocumentRepository.php
  3. +25
    -0
      ShopBundle/Resources/public/config.rb
  4. +707
    -0
      ShopBundle/Resources/public/css/custom.css
  5. +29
    -29
      ShopBundle/Resources/public/sass/custom.scss
  6. +2
    -0
      ShopBundle/Services/Order/OrderUtils.php

+ 1
- 0
ShopBundle/.gitignore 파일 보기

@@ -0,0 +1 @@
Resources/public/.sass-cache/

+ 8
- 0
ShopBundle/Repository/DocumentRepository.php 파일 보기

@@ -20,4 +20,12 @@ class DocumentRepository extends BaseRepository implements DefaultRepositoryInte
{
return DocumentInterface::class;
}

public function findLastInvoice()
{
$query = $this->findByMerchantQuery();
$query->orderBy('e.createdAt', 'DESC');
$query->setMaxResults(1);
return $query->getQuery()->getOneOrNullResult();
}
}

+ 25
- 0
ShopBundle/Resources/public/config.rb 파일 보기

@@ -0,0 +1,25 @@
require 'compass/import-once/activate'
# Require any additional compass plugins here.

# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "css"
sass_dir = "sass"
images_dir = "images"
javascripts_dir = "javascripts"

# You can select your preferred output style here (can be overridden via the command line):
# output_style = :expanded or :nested or :compact or :compressed

# To enable relative paths to assets via compass helper functions. Uncomment:
# relative_assets = true

# To disable debugging comments that display the original location of your selectors. Uncomment:
# line_comments = false


# If you prefer the indented syntax, you might want to regenerate this
# project again passing --syntax sass, or you can uncomment this:
# preferred_syntax = :sass
# and then run:
# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass

+ 707
- 0
ShopBundle/Resources/public/css/custom.css 파일 보기

@@ -0,0 +1,707 @@
@charset "UTF-8";
/* STRUCTURE */
/* line 2, ../sass/custom.scss */
body {
font-size: 0.9rem;
}

/* line 3, ../sass/custom.scss */
[class*="sidebar-dark-"] .nav-sidebar > .nav-item.menu-open, [class*="sidebar-dark-"] .nav-sidebar > .nav-item:hover {
background: rgba(255, 255, 255, 0.1);
}

/* line 5, ../sass/custom.scss */
.align-center {
text-align: center;
}

/* line 6, ../sass/custom.scss */
.align-left {
text-align: left;
}

/* line 7, ../sass/custom.scss */
.align-right {
text-align: right;
}

/* line 9, ../sass/custom.scss */
.hidden {
display: none;
}

/* line 11, ../sass/custom.scss */
.select2-container--default .select2-results__option[aria-disabled=true] {
display: none;
}

/* line 15, ../sass/custom.scss */
.field-collection-item-action {
font-size: 2rem;
font-weight: bold;
margin-left: 4px;
width: 7%;
text-align: center;
display: inline-block;
line-height: 2.2rem;
}

/* line 24, ../sass/custom.scss */
.field-collection-item-row .form-control {
width: 92%;
float: left;
}

/* line 28, ../sass/custom.scss */
#lc-flash-messages {
display: none;
}

/* line 30, ../sass/custom.scss */
.main-sidebar .logo-long {
padding: 8px 0;
text-align: center;
}

/* line 31, ../sass/custom.scss */
.main-sidebar .logo-long img {
height: 40px;
display: inline-block;
}

/* line 32, ../sass/custom.scss */
.sidebar-collapse .main-sidebar .logo-long span {
display: none;
}

/* line 33, ../sass/custom.scss */
.sidebar-collapse .main-sidebar:hover .logo-long span {
display: inline-block;
}

/* line 35, ../sass/custom.scss */
.table.datatable-simple .highlight {
background: var(--teal);
}

/* line 36, ../sass/custom.scss */
.datatable-field-search.small {
width: 50px;
}

/* line 38, ../sass/custom.scss */
.dataTables_length, .dataTables_filter {
padding: .75rem 1.25rem 0.25rem;
}

/* line 40, ../sass/custom.scss */
table.fixedHeader-floating {
margin-top: 0px !important;
}

/* line 41, ../sass/custom.scss */
table th.sorting_asc, table th.sorting_desc {
border-top: 3px solid var(--success);
}

/* line 42, ../sass/custom.scss */
table th.filtered {
border-top: 3px solid var(--primary);
}

/* line 44, ../sass/custom.scss */
td.actions {
white-space: nowrap;
text-align: right;
}

/* line 46, ../sass/custom.scss */
.table td, .table th {
padding: 0.35rem;
}

/* line 47, ../sass/custom.scss */
.delivery-field .form-group {
display: inline-block;
margin-bottom: 0px;
margin-right: 15px;
}

/* line 48, ../sass/custom.scss */
.delivery-field .form-group .form-control {
width: 150px;
}

/* line 50, ../sass/custom.scss */
table th input {
width: auto;
}

/* line 51, ../sass/custom.scss */
table th .select2-container--default .select2-selection--single {
padding: 0.3rem 0.4rem;
}

/************************ LOGIN PAGE *********************/
/* line 54, ../sass/custom.scss */
.login-logo {
display: block;
margin: auto;
}

/************************ form error *********************/
/* line 57, ../sass/custom.scss */
.form-sent .form-control:invalid {
border-color: #dc3545;
padding-right: 2.25rem;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");
background-repeat: no-repeat;
background-position: center right calc(.375em + .1875rem);
background-size: calc(.75em + .375rem) calc(.75em + .375rem);
}

/* line 58, ../sass/custom.scss */
.form-sent select.form-control:invalid + .select2 .select2-selection {
border-color: #dc3545;
}

/* line 59, ../sass/custom.scss */
.form-sent select.form-control:invalid + .select2 .select2-selection b {
border-color: #dc3545 transparent transparent transparent;
}

/*CUSTOM Checkbox
/* Customize the label (the container) */
/* line 64, ../sass/custom.scss */
.form-check-label {
display: block;
position: relative;
padding-left: 26px;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

/* Hide the browser's default checkbox */
/* line 66, ../sass/custom.scss */
.form-check-label input {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}

/* Create a custom checkbox */
/* line 69, ../sass/custom.scss */
.form-check {
padding-left: 0px;
}

/* line 71, ../sass/custom.scss */
.form-sent .form-check-label input:invalid ~ .checkmark {
border-color: #dc3545;
}

/* line 72, ../sass/custom.scss */
.form-check-label input:disabled ~ .checkmark {
display: none;
}

/* line 73, ../sass/custom.scss */
.form-check-label input ~ .checkmark {
position: absolute;
top: 0;
left: 0;
height: 18px;
width: 18px;
background-color: #eee;
border: 1px solid var(--primary);
}

/* line 74, ../sass/custom.scss */
.form-check-label.big input ~ .checkmark {
height: 21px;
width: 21px;
}

/* line 75, ../sass/custom.scss */
.form-check-label input[type="checkbox"] ~ .checkmark {
top: 2px;
}

/* line 76, ../sass/custom.scss */
.form-check-label input[type="radio"] ~ .checkmark {
top: 3px;
border-radius: 50%;
}

/* line 77, ../sass/custom.scss */
.form-check-label:hover input ~ .checkmark {
background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
/* line 79, ../sass/custom.scss */
.form-check-label input:checked ~ .checkmark {
background-color: var(--primary);
}

/* Create the checkmark/indicator (hidden when not checked) */
/* line 81, ../sass/custom.scss */
.form-check-label .checkmark:after {
content: "";
position: absolute;
display: none;
}

/* Show the checkmark when checked */
/* line 83, ../sass/custom.scss */
.form-check-label input:checked ~ .checkmark:after {
display: block;
}

/* Style the checkmark/indicator */
/* line 85, ../sass/custom.scss */
.form-check-label .checkmark:after {
left: 7px;
top: 3px;
width: 6px;
height: 11px;
border: solid white;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

/* line 86, ../sass/custom.scss */
.form-check-label input[type="checkbox"] ~ .checkmark:after {
left: 6px;
top: 2px;
width: 6px;
height: 10px;
border: solid white;
border-width: 0 3px 3px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}

/* line 87, ../sass/custom.scss */
.form-check-label input[type="radio"] ~ .checkmark:after {
top: 4px;
left: 4px;
width: 8px;
height: 8px;
border-radius: 50%;
background: white;
}

/* line 89, ../sass/custom.scss */
.form-check-label.big input[type="checkbox"] ~ .checkmark:after {
left: 7px;
top: 3px;
width: 6px;
height: 11px;
}

/* Create a custom radio button */
/* line 93, ../sass/custom.scss */
.product-categories .parent .form-group.field-checkbox .form-check-label {
padding-left: 0px;
font-style: italic;
}

/* line 94, ../sass/custom.scss */
.product-categories .children .form-group.field-checkbox {
margin-left: 20px;
}

/* line 95, ../sass/custom.scss */
.product-categories .form-group {
margin-bottom: 0.5rem;
}

/* line 96, ../sass/custom.scss */
.lc-deleted-field {
display: none;
}

/* line 97, ../sass/custom.scss */
.lc-offline-field {
opacity: 0.5;
}

/* line 98, ../sass/custom.scss */
.lc-offline-field label::after {
content: ' [hors ligne]';
}

/* Général */
/* line 104, ../sass/custom.scss */
.btn.btn-primary.action-save {
float: right;
}

/* line 105, ../sass/custom.scss */
.button-action .btn {
margin-left: 10px;
}

/* line 107, ../sass/custom.scss */
.input-group-text {
padding: 0.25rem 0.75rem;
}

/* line 111, ../sass/custom.scss */
.col-form-label {
font-weight: bold;
}

/* line 113, ../sass/custom.scss */
#toast-container.toast-top-right {
top: 60px;
}

/* SIDEBAR */
/* line 116, ../sass/custom.scss */
.main-header.navbar {
padding: 0;
min-height: 57px;
}

/* line 117, ../sass/custom.scss */
.lc-navbar li {
border-left: 1px solid #e0e0e0;
padding: 0.5rem 1.5rem;
}

/* line 118, ../sass/custom.scss */
.lc-navbar li label {
margin-bottom: 0;
vertical-align: middle;
font-weight: normal !important;
}

/* line 120, ../sass/custom.scss */
#switch-merchant {
min-width: 170px;
}

/* Sortable */
/* line 126, ../sass/custom.scss */
.ui-sortable-helper {
display: table;
}

/* line 127, ../sass/custom.scss */
.ui-state-highlight {
background: #eee;
}

/* line 128, ../sass/custom.scss */
.lc-sortable div:last-child {
display: none;
}

/* Ckfinder */
/*

.lc-ckfinder-wrap{width: 240px; height: 170px; position: relative;}
.lc-ckfinder-wrap .lc-ckfinder-illu-wrap{position:relative; : 100%; height: 139px; display: flex; align-items: center; justify-content: center; background: #eee; background-size: contain;}
.lc-ckfinder-wrap .lc-ckfinder-illu{width: 100%; height: 100%; background-size: contain; position: absolute; top: 0; left: 0;z-index: 1; background-repeat: no-repeat; background-position: center center; }
.lc-ckfinder-wrap .lc-ckfinder-illu-wrap i{font-size: 5rem;}
.lc-ckfinder-wrap .lc-ckfinder-remove{border: 0px; font-size: 1.8rem; position: absolute;z-index: 2; color:#dc3545; top: -20px; right: -20px; background: 0; display: none;}

.lc-ckfinder-wrap .lc-ckfinder-button{width: 100%; bottom: 0px; left: 0; position: absolute;}
*/
/* VUES JS */
/* line 143, ../sass/custom.scss */
.nav-item .btn {
padding-right: 15px;
position: relative;
}

/* line 144, ../sass/custom.scss */
.nav-item .btn .invalid-form {
display: none;
position: absolute;
top: -7px;
right: -6px;
color: #dc3545;
background: #fff;
border-radius: 10px;
font-size: 1.2rem;
}

/* line 145, ../sass/custom.scss */
.nav-item.has-invalid .btn .invalid-form {
display: inline-block;
z-index: 2;
}

/* ProductFamily */
/* line 150, ../sass/custom.scss */
.field-unit-quantity {
border-bottom: 2px dotted #eee;
padding-bottom: 10px;
margin-bottom: 20px;
}

/* line 151, ../sass/custom.scss */
.field-reduction-apply {
border-top: 2px dotted #eee;
padding-top: 10px;
margin-top: 20px;
}

/* line 153, ../sass/custom.scss */
.new-productfamily #nav-params,
.edit-productfamily #nav-params {
margin-bottom: 30px;
}

/* line 158, ../sass/custom.scss */
.new-productfamily #nav-params .btn,
.edit-productfamily #nav-params .btn {
margin-left: 20px;
}

/* line 163, ../sass/custom.scss */
.new-productfamily #product-categories .row,
.edit-productfamily #product-categories .row {
padding: 10px;
}

/* line 168, ../sass/custom.scss */
.new-productfamily #product-categories .form-group,
.edit-productfamily #product-categories .form-group {
width: 100%;
padding: 4px;
}

/* line 174, ../sass/custom.scss */
.new-productfamily #product-categories .children,
.edit-productfamily #product-categories .children {
margin-left: 20px;
width: 100%;
}

/* line 180, ../sass/custom.scss */
.new-productfamily ul.products,
.edit-productfamily ul.products {
padding: 0px;
list-style-type: none;
}

/* line 186, ../sass/custom.scss */
.new-productfamily ul.products li.product,
.edit-productfamily ul.products li.product {
padding: 0px;
margin-bottom: 20px;
position: relative;
}

/* line 193, ../sass/custom.scss */
.new-productfamily ul.products li.add,
.edit-productfamily ul.products li.add {
text-align: right;
}

/* line 198, ../sass/custom.scss */
.autoresize textarea {
height: auto;
min-height: 38px;
}

/* ORDER */
/* line 204, ../sass/custom.scss */
.table-order-summary {
width: 100%;
}

/* line 207, ../sass/custom.scss */
.order-product-item.redelivery {
background: rgba(18, 104, 253, 0.38) !important;
}

/*.select2-container--bootstrap .select2-selection{max-width: none;}*/
/*.order-product-item{margin: 15px 0; padding: 0;}*/
/* Product */
/* line 212, ../sass/custom.scss */
.product-form-modal {
display: none;
}

/* line 213, ../sass/custom.scss */
.product-form.modal .form-check-label {
font-style: italic;
color: #666;
text-align: left;
}

/* line 214, ../sass/custom.scss */
.products-collection-table .inherited {
color: #888;
font-style: italic;
font-weight: initial;
}

/* line 215, ../sass/custom.scss */
.products-collection-table td {
position: relative;
}

/* line 216, ../sass/custom.scss */
.card-body.p-0 .products-collection-table tbody > tr > td:first-of-type, .card-body.p-0 .products-collection-table tbody > tr > th:first-of-type, .card-body.p-0 .products-collection-table thead > tr > td:first-of-type, .card-body.p-0 .products-collection-table thead > tr > th:first-of-type {
padding-left: 0.35rem;
}

/* line 217, ../sass/custom.scss */
.products-collection-table .btn-empty-field {
position: absolute;
right: 3px;
font-size: 0.7rem;
top: 5px;
padding: 0px;
}

/* line 218, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table {
table-layout: fixed;
}

/* line 219, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table tr {
border-bottom: 1px solid #dee2e6;
}

/* line 220, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table th {
font-size: 13px;
border-left: 1px solid #dee2e6;
border-top: 1px solid #dee2e6;
text-align: center;
}

/* line 221, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table th span {
white-space: initial;
}

/* line 222, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table th:last-child {
border-right: 1px solid #dee2e6;
}

/* line 223, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table td {
border-left: 1px solid #dee2e6;
text-align: center;
font-size: 13px;
}

/* line 224, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table td:last-child {
border-right: 1px solid #dee2e6;
white-space: nowrap;
}

/* line 225, ../sass/custom.scss */
#lc-product-family-edit .btn-add-product {
margin: 20px 0;
float: right;
}

/* line 226, ../sass/custom.scss */
#lc-product-family-edit .inherited {
color: #888;
font-style: italic;
font-weight: initial;
}

/* line 227, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table td .value {
min-width: 80%;
margin: auto;
min-height: 35px;
cursor: pointer;
}

/* line 228, ../sass/custom.scss */
#lc-product-family-edit .products-collection-table td .modal {
text-align: left;
}

/* DeliveryZone */
/* line 232, ../sass/custom.scss */
#autocomplete-cities {
position: relative;
}

/* line 236, ../sass/custom.scss */
#autocomplete-cities .ui-autocomplete {
left: 30%;
top: 41px;
margin-left: 18px;
}

/* line 242, ../sass/custom.scss */
.head-reminders {
margin-top: 15px;
}

/* TABLEAU DE BORD */
/* line 245, ../sass/custom.scss */
.todo-list > li {
position: relative;
}

/* line 246, ../sass/custom.scss */
.todo-list > li .text {
margin-left: 30px;
}

/* line 247, ../sass/custom.scss */
.todo-list > li .tools {
position: absolute;
top: 4px;
right: 15px;
}

/* line 249, ../sass/custom.scss */
#addTicketMessageForm {
margin-top: 30px;
border-top: 2px dotted #eee;
padding-top: 30px;
}

/* line 251, ../sass/custom.scss */
#dashboard .list-btn-statistic {
display: flex;
flex-wrap: wrap;
justify-content: center;
}

/* line 252, ../sass/custom.scss */
#dashboard .btn-statistic {
width: 120px;
height: 70px;
text-align: center;
border: 1px solid black;
line-height: 1rem;
}

/* line 253, ../sass/custom.scss */
#dashboard .btn-statistic small {
margin-bottom: 10px;
display: block;
}

/* line 254, ../sass/custom.scss */
#dashboard .btn-statistic .value {
display: block;
}

ShopBundle/Resources/public/css/backend/custom.css → ShopBundle/Resources/public/sass/custom.scss 파일 보기

@@ -9,20 +9,20 @@ body{font-size: 0.9rem;}
.hidden{display: none;}

.select2-container--default .select2-results__option[aria-disabled=true] {
display: none;
display: none;
}

.field-collection-item-action {
font-size: 2rem;
font-weight: bold;
margin-left: 4px;
width: 7%;
text-align: center;
display:inline-block;
line-height: 2.2rem;
font-size: 2rem;
font-weight: bold;
margin-left: 4px;
width: 7%;
text-align: center;
display:inline-block;
line-height: 2.2rem;
}
.field-collection-item-row .form-control {
width: 92%; float: left;
width: 92%; float: left;
}


@@ -119,7 +119,7 @@ table th .select2-container--default .select2-selection--single{padding:0.3rem 0
.button-action .btn{margin-left: 10px;}

.input-group-text {
padding: 0.250rem .75rem ;
padding: 0.250rem .75rem ;
}

.col-form-label{font-weight: bold;}
@@ -132,7 +132,7 @@ table th .select2-container--default .select2-selection--single{padding:0.3rem 0
.lc-navbar li label{margin-bottom: 0; vertical-align: middle; font-weight: normal !important;}

#switch-merchant {
min-width: 170px ;
min-width: 170px ;
}

/* Sortable */
@@ -166,54 +166,54 @@ table th .select2-container--default .select2-selection--single{padding:0.3rem 0

.new-productfamily #nav-params,
.edit-productfamily #nav-params {
margin-bottom: 30px ;
margin-bottom: 30px ;
}

.new-productfamily #nav-params .btn,
.edit-productfamily #nav-params .btn {
margin-left: 20px ;
margin-left: 20px ;
}

.new-productfamily #product-categories .row,
.edit-productfamily #product-categories .row {
padding: 10px ;
padding: 10px ;
}

.new-productfamily #product-categories .form-group,
.edit-productfamily #product-categories .form-group {
width: 100% ;
padding: 4px ;
width: 100% ;
padding: 4px ;
}

.new-productfamily #product-categories .children,
.edit-productfamily #product-categories .children {
margin-left: 20px ;
width: 100% ;
margin-left: 20px ;
width: 100% ;
}

.new-productfamily ul.products,
.edit-productfamily ul.products {
padding: 0px ;
list-style-type: none ;
padding: 0px ;
list-style-type: none ;
}

.new-productfamily ul.products li.product,
.edit-productfamily ul.products li.product {
padding: 0px ;
margin-bottom: 20px ;
position: relative ;
padding: 0px ;
margin-bottom: 20px ;
position: relative ;
}

.new-productfamily ul.products li.add,
.edit-productfamily ul.products li.add {
text-align: right ;
text-align: right ;
}

.autoresize textarea{height: auto; min-height: 38px;}



/* ORDER */
/* ORDER */

.table-order-summary{width: 100%;}

@@ -244,13 +244,13 @@ table th .select2-container--default .select2-selection--single{padding:0.3rem 0
/* DeliveryZone */

#autocomplete-cities {
position: relative ;
position: relative ;
}

#autocomplete-cities .ui-autocomplete {
left: 30% ;
top: 41px ;
margin-left: 18px ;
left: 30% ;
top: 41px ;
margin-left: 18px ;
}

.head-reminders{margin-top: 15px;}

+ 2
- 0
ShopBundle/Services/Order/OrderUtils.php 파일 보기

@@ -46,6 +46,7 @@ class OrderUtils
protected $orderShopRepo;
protected $reductionCreditRepo ;
protected $orderReductionCreditRepo ;
protected $documentRepo ;
protected $priceUtils;
protected $productFamilyUtils;
protected $documentUtils;
@@ -63,6 +64,7 @@ class OrderUtils
$this->orderShopRepo = $this->em->getRepository($this->em->getClassMetadata(OrderShopInterface::class)->getName());
$this->reductionCreditRepo = $this->em->getRepository($this->em->getClassMetadata(ReductionCreditInterface::class)->getName());
$this->orderReductionCreditRepo = $this->em->getRepository($this->em->getClassMetadata(OrderReductionCreditInterface::class)->getName());
$this->documentRepo = $this->em->getRepository($this->em->getClassMetadata(DocumentInterface::class)->getName());
$this->priceUtils = $priceUtils;
$this->productFamilyUtils = $productFamilyUtils;
$this->documentUtils = $documentUtils;

Loading…
취소
저장