Resolved conflicts

This commit is contained in:
jitendra 2022-07-12 11:47:14 +05:30
commit 0321dbb700
34 changed files with 375 additions and 318 deletions

View File

@ -115,7 +115,7 @@ class RefundController extends Controller
session()->flash('success', trans('admin::app.response.create-success', ['name' => 'Refund']));
return redirect()->route($this->_config['redirect'], $orderId);
return redirect()->route($this->_config['redirect']);
}
/**

View File

@ -7,7 +7,7 @@ return [
'create' => 'Créer',
'update' => 'Mettre à jour',
'delete' => 'Effacer',
'failed' => 'Manqué',
'failed' => 'Erreur',
'store' => 'Magasin',
'image' => 'Image',
'no result' => 'Pas de résultat',
@ -35,7 +35,7 @@ return [
'category' => 'Catégorie',
'common' => [
'no-result-found' => 'Nous n\'avons pu trouver aucun enregistrement.',
'no-result-found' => 'Nous n\'avons pu trouver aucun résultat',
'country' => 'Pays',
'state' => 'État',
'true' => 'Vrai',
@ -49,16 +49,16 @@ return [
'visit-shop' => 'Visiter la boutique',
'dashboard' => 'Tableau de bord',
'sales' => 'Ventes',
'orders' => 'Ordres',
'orders' => 'Commandes',
'shipments' => 'Expéditions',
'invoices' => 'Factures',
'refunds' => 'Remboursements',
'catalog' => 'Catalogue',
'products' => 'Des produits',
'products' => 'Produits',
'categories' => 'Catégories',
'attributes' => 'Les attributs',
'attributes' => 'Ättributs',
'attribute-families' => 'Familles d\'attributs',
'customers' => 'Les clients',
'customers' => 'Clients',
'groups' => 'Groupes',
'reviews' => 'Commentaires',
'configure' => 'Configurer',
@ -69,11 +69,11 @@ return [
'inventory-sources' => 'Sources d\'inventaire',
'channels' => 'Canaux',
'users' => 'Utilisateurs',
'roles' => 'Les rôles',
'sliders' => 'Curseurs',
'roles' => 'Rôles',
'sliders' => 'Panneaux défilants',
'taxes' => 'Impôts',
'tax-categories' => 'Catégories de taxes',
'tax-rates' => 'Les taux d\'imposition',
'tax-rates' => 'Taux d\'imposition',
'marketing' => 'Commercialisation',
'promotions' => 'Promotions',
'email-marketing' => 'Publicité par e-mail',
@ -93,19 +93,19 @@ return [
'dashboard' => 'Tableau de bord',
'sales' => 'Ventes',
'cancel' => 'Annuler',
'orders' => 'Ordres',
'orders' => 'Commandes',
'shipments' => 'Expéditions',
'invoices' => 'Factures',
'refunds' => 'Remboursements',
'catalog' => 'Catalogue',
'products' => 'Des produits',
'products' => 'Produits',
'copy' => 'Copie',
'categories' => 'Catégories',
'attributes' => 'Les attributs',
'attributes' => 'Attributs',
'attribute-families' => 'Familles d\'attributs',
'customers' => 'Les clients',
'customers' => 'Clients',
'addresses' => 'Adresses',
'note' => 'Noter',
'note' => 'Notes',
'groups' => 'Groupes',
'reviews' => 'Commentaires',
'configure' => 'Configurer',
@ -116,8 +116,8 @@ return [
'inventory-sources' => 'Sources d\'inventaire',
'channels' => 'Canaux',
'users' => 'Utilisateurs',
'roles' => 'Les rôles',
'sliders' => 'Curseurs',
'roles' => 'Rôles',
'sliders' => 'Panneaux défilants',
'taxes' => 'Impôts',
'tax-categories' => 'Catégories de taxes',
'tax-rates' => 'Les taux d\'imposition',
@ -125,12 +125,12 @@ return [
'edit' => 'Éditer',
'create' => 'Ajouter',
'delete' => 'Effacer',
'mass-delete' => 'Suppression en masse',
'mass-update' => 'Mise à jour de masse',
'mass-delete' => 'Suppression multiple',
'mass-update' => 'Mise à jour multiple',
'marketing' => 'Commercialisation',
'promotions' => 'Promotions',
'cart-rules' => 'Règles du panier',
'catalog-rules' => 'Règles du catalogue',
'cart-rules' => 'Paramètres du panier',
'catalog-rules' => 'Paramètres du catalogue',
'email-marketing' => 'Publicité par e-mail',
'email-templates' => 'Modèles d\'e-mails',
'campaigns' => 'Campagnes',
@ -146,8 +146,8 @@ return [
'to' => 'À',
'total-customers' => 'Clients totaux',
'total-orders' => 'Total des commandes',
'total-sale' => 'Vente totale',
'average-sale' => 'Vente de commande moyenne',
'total-sale' => 'Ventes totales',
'average-sale' => 'Prix moyen d\'une commande',
'total-unpaid-invoices' => 'Total des factures impayées',
'increased' => ':progress%',
'decreased' => ':progress%',
@ -165,7 +165,7 @@ return [
'datagrid' => [
'mass-ops' => [
'method-error' => 'Erreur! Mauvaise méthode détectée, veuillez vérifier la configuration de l\'action de masse',
'method-error' => 'Une erreur est survenue. Mauvaise configuration détectée, veuillez vérifier la configuration de l\'action multiple',
'delete-success' => 'Sélectionné :resource a été supprimée avec succès',
'partial-action' => 'Certaines actions n\'ont pas été effectuées en raison de contraintes système restreintes sur :resource',
'update-success' => 'Sélectionné :resource a été mise à jour avec succès',
@ -186,17 +186,17 @@ return [
'per-locale' => 'Basé sur les paramètres régionaux',
'per-channel' => 'Basé sur le canal',
'position' => 'Positionner',
'locale' => 'Lieu',
'locale' => 'Langue',
'hostname' => 'Nom d\'hôte',
'email' => 'E-mail',
'group' => 'Grouper',
'phone' => 'Téléphoner',
'group' => 'Groupe',
'phone' => 'Téléphone',
'gender' => 'Genre',
'title' => 'Titre',
'layout' => 'Mise en page',
'url-key' => 'Clé URL',
'comment' => 'Commenter',
'product-name' => 'Produit',
'product-name' => 'Nom du produit',
'currency-name' => 'Nom de la devise',
'exch-rate' => 'Taux de change',
'priority' => 'Priorité',
@ -206,8 +206,8 @@ return [
'order-date' => 'Date de commande',
'channel-name' => 'Nom du canal',
'billed-to' => 'Facturé à',
'shipped-to' => 'Expédiés à',
'order-id' => 'numéro de commande',
'shipped-to' => 'Expédié à',
'order-id' => 'Numéro de commande',
'invoice-id' => 'Numéro de facture',
'invoice-date' => 'Date de la facture',
'total-qty' => 'Quantité totale',
@ -222,13 +222,13 @@ return [
'identifier' => 'Identifiant',
'state' => 'État',
'country' => 'Pays',
'tax-rate' => 'Taux',
'tax-rate' => 'Taxes',
'role' => 'Rôle',
'sub-total' => 'Sous-total',
'no-of-products' => 'Nombre de produits',
'attribute-family' => 'Famille d\'attributs',
'starts-from' => 'Commence à partir de',
'ends-till' => 'Se termine jusqu\'à',
'ends-till' => 'Se termine à',
'per-cust' => 'Par client',
'usage-throttle' => 'Temps d\'utilisation',
'for-guest' => 'Pour les invités',
@ -236,7 +236,7 @@ return [
'refund-date' => 'date de remboursement',
'refunded' => 'Remboursé',
'start' => 'Démarrer',
'end' => 'Finir',
'end' => 'Terminer',
'active' => 'actif',
'inactive' => 'Inactif',
'draft' => 'Brouillon',
@ -246,7 +246,7 @@ return [
'pending' => 'En attente',
'disapproved' => 'Refusé',
'coupon-code' => 'Code de réduction',
'times-used' => 'Temps utilisés',
'times-used' => 'Utilisé',
'created-date' => 'Date de création',
'expiration-date' => 'Date d\'expiration',
'edit' => 'Éditer',
@ -254,10 +254,10 @@ return [
'view' => 'Vue',
'rtl' => 'RTL',
'ltr' => 'LTR',
'update-status' => 'État de mise à jour',
'subject' => 'Matière',
'update-status' => 'Statut de mise à jour',
'subject' => 'Sujet',
'date' => 'Date',
'transaction-id' => 'identifiant de transaction',
'transaction-id' => 'Identifiant de transaction',
'transaction-date' => 'Date de la transaction',
'file-name' => 'File Name',
'path' => 'Path',
@ -268,9 +268,9 @@ return [
'title' => 'Mon compte',
'save-btn-title' => 'Sauvegarder',
'general' => 'Général',
'upload-image-info' => 'Upload a Profile Image (100px x 100px) in PNG or JPG Format',
'remove-image' => 'Remove Image',
'image-upload-message' => 'Only images (.jpeg, .jpg, .png, ..) are allowed.',
'upload-image-info' => 'Uploadez une image de profil (100px x 100px) en PNG ou JPG.',
'remove-image' => 'Supprimer l\'image',
'image-upload-message' => 'Seulement les images (.jpeg, .jpg, .png, ..) sont autorisées.',
'name' => 'Nom',
'email' => 'E-mail',
'password' => 'Mot de passe',
@ -286,7 +286,7 @@ return [
'email' => 'Email enregistré',
'password' => 'Mot de passe',
'confirm-password' => 'Confirmez le mot de passe',
'back-link-title' => 'Retour à la connexion',
'back-link-title' => 'Retour à l\'écran de connexion',
'submit-btn-title' => 'Envoyer un e-mail de réinitialisation du mot de passe',
'passwords' => [
'throttled' => 'Avertissement : Vous avez récemment demandé la réinitialisation de votre mot de passe, veuillez vérifier votre messagerie.',
@ -294,16 +294,16 @@ return [
],
'reset-password' => [
'title' => 'réinitialiser le mot de passe',
'title' => 'Réinitialiser le mot de passe',
'email' => 'Email enregistré',
'password' => 'Mot de passe',
'confirm-password' => 'Confirmez le mot de passe',
'back-link-title' => 'Retour à la connexion',
'submit-btn-title' => 'réinitialiser le mot de passe',
'submit-btn-title' => 'Réinitialiser le mot de passe',
],
'roles' => [
'title' => 'Les rôles',
'title' => 'Rôles',
'add-role-title' => 'Ajouter un rôle',
'edit-role-title' => 'Modifier le rôle',
'save-btn-title' => 'Enregistrer le rôle',
@ -326,20 +326,20 @@ return [
'name' => 'Nom',
'password' => 'Mot de passe',
'confirm-password' => 'Confirmez le mot de passe',
'status-and-role' => 'Statut et rôle',
'status-and-role' => 'Statut et autorisations',
'role' => 'Rôle',
'status' => 'Statut',
'status' => 'Statut d\'activation',
'account-is-active' => 'Le compte est actif',
'current-password' => 'Saisissez le mot de passe actuel',
'confirm-delete' => 'Confirmer la suppression de ce compte',
'confirm-delete-title' => 'Confirmer le mot de passe avant de supprimer',
'delete-last' => 'Au moins un administrateur est requis.',
'delete-success' => 'Succès! Utilisateur supprimé',
'delete-success' => 'Utilisateur supprimé avec succès',
'incorrect-password' => 'Le mot de passe que vous avez entré est incorrect',
'password-match' => 'Le mot de passe actuel ne correspond pas.',
'account-save' => 'Les modifications du compte ont été enregistrées avec succès.',
'login-error' => 'Veuillez vérifier vos informations d\'identification et réessayer.',
'activate-warning' => 'Votre compte n\'est pas encore activé, veuillez contacter l\'administrateur.',
'activate-warning' => 'Votre compte n\'est pas encore activé, veuillez contacter un administrateur.',
],
'sessions' => [
@ -347,14 +347,14 @@ return [
'email' => 'E-mail',
'password' => 'Mot de passe',
'forget-password-link-title' => 'Mot de passe oublié ?',
'remember-me' => 'Souviens-toi de moi',
'remember-me' => 'Se souvenir de moi',
'submit-btn-title' => 'S\'identifier',
],
],
'sales' => [
'orders' => [
'title' => 'Ordres',
'title' => 'Commandes',
'view-title' => 'N° de commande :order_id',
'cancel-btn-title' => 'Annuler',
'shipment-btn-title' => 'Bateau',
@ -399,12 +399,12 @@ return [
'item-canceled' => 'Annulé (:qty_cancelled]',
'item-refunded' => 'Remboursé (:qty_refunded]',
'price' => 'Prix',
'total' => 'Le total',
'total' => 'Total',
'subtotal' => 'Total',
'shipping-handling' => 'Expédition et manutention',
'discount' => 'Rabais',
'tax' => 'Impôt',
'tax-percent' => 'Pourcentage d\'impôt',
'tax' => 'Imposition',
'tax-percent' => 'Pourcentage d\'imposition',
'tax-amount' => 'Montant de la taxe',
'discount-amount' => 'Montant de la remise',
'grand-total' => 'Total',
@ -436,9 +436,9 @@ return [
'action' => 'action',
'add-title' => 'Créer une facture',
'save-btn-title' => 'Enregistrer la facture',
'send-duplicate-invoice' => 'Send Duplicate Invoice',
'send' => 'Send',
'invoice-sent' => 'Invoice sent successfully!',
'send-duplicate-invoice' => 'Envoyez un duplicata',
'send' => 'Envoyer',
'invoice-sent' => 'Facture envoyée avec succès!',
'qty' => 'Qté',
'qty-ordered' => 'Qté commandée',
'qty-to-invoice' => 'Quantité à facturer',
@ -516,22 +516,22 @@ return [
'view-title' => 'N° de transaction :transaction_id',
'transaction-data' => 'Données de transaction',
'order-id' => 'numéro de commande',
'invoice-id' => 'Identifiant de la facture',
'invoice-id' => 'Numéro de facture',
'status' => 'Statut',
'created-at' => 'Créé à',
'transaction-details' => 'détails de la transaction',
'response' => [
'invoice-missing' => 'Cet identifiant de facture n\'existe pas',
'invoice-missing' => 'Ce numéro de facture n\'existe pas',
'transaction-saved' => 'La transaction a été enregistrée',
'already-paid' => 'Cette facture a déjà été payée',
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
'transaction-amount-exceeds' => 'Le montant de cette transaction dépasse le montant total de la facture.',
],
],
],
'catalog' => [
'products' => [
'title' => 'Des produits',
'title' => 'Produits',
'add-product-btn-title' => 'Ajouter un produit',
'add-title' => 'Ajouter un produit',
'edit-title' => 'Modifier le produit',
@ -539,12 +539,12 @@ return [
'general' => 'Général',
'product-type' => 'type de produit',
'type' => [
'simple' => 'Facile',
'booking' => 'réservation',
'bundle' => 'empaqueter',
'simple' => 'Simple',
'booking' => 'Réservation',
'bundle' => 'Bundle',
'downloadable' => 'téléchargeable',
'grouped' => 'groupé',
'virtual' => 'virtuelle',
'virtual' => 'Produit virtuel',
'configurable' => 'configurable',
],
@ -1105,7 +1105,7 @@ return [
'orders' => [
'list' => 'liste des commandes de :customer_name',
'title' => 'Ordres',
'title' => 'Commandes',
],
],

View File

@ -215,21 +215,21 @@
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.seo.controls.after', ['category' => $category]) !!}
</div>
</accordian>
<accordian title="{{ __('admin::app.catalog.categories.products') }}" :active="true">
<div slot="body">
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.products.controls.before', ['category' => $category]) !!}
<datagrid-plus src="{{ route('admin.catalog.categories.products', $category->id) }}"></datagrid-plus>
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.products.controls.before', ['category' => $category]) !!}
</div>
</accordian>
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.seo.after', ['category' => $category]) !!}
</div>
</div>
</form>
<div class="page-content">
<accordian title="{{ __('admin::app.catalog.categories.products') }}" :active="true">
<div slot="body">
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.products.controls.before', ['category' => $category]) !!}
<datagrid-plus src="{{ route('admin.catalog.categories.products', $category->id) }}"></datagrid-plus>
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.products.controls.before', ['category' => $category]) !!}
</div>
</accordian>
</div>
</div>
@stop

View File

@ -1,241 +1,241 @@
@extends('admin::layouts.master')
@section('page_title')
{{ __('admin::app.sales.shipments.add-title') }}
{{ __('admin::app.sales.shipments.add-title') }}
@stop
@section('content-wrapper')
<div class="content full-page">
<form method="POST" action="{{ route('admin.sales.shipments.store', $order->id) }}" @submit.prevent="onSubmit">
@csrf()
<div class="content full-page">
<form method="POST" action="{{ route('admin.sales.shipments.store', $order->id) }}" @submit.prevent="onSubmit">
@csrf()
<div class="page-header">
<div class="page-title">
<h1>
<i class="icon angle-left-icon back-link" onclick="window.location = '{{ route('admin.sales.shipments.index') }}'"></i>
<div class="page-header">
<div class="page-title">
<h1>
<i class="icon angle-left-icon back-link" onclick="window.location = '{{ route('admin.sales.shipments.index') }}'"></i>
{{ __('admin::app.sales.shipments.add-title') }}
</h1>
</div>
<div class="page-action">
<button type="submit" class="btn btn-lg btn-primary">
{{ __('admin::app.sales.shipments.save-btn-title') }}
</button>
</div>
{{ __('admin::app.sales.shipments.add-title') }}
</h1>
</div>
<div class="page-content">
<div class="sale-container">
<accordian title="{{ __('admin::app.sales.orders.order-and-account') }}" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.shipments.order-id') }}
</span>
<span class="value">
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.order-date') }}
</span>
<span class="value">
{{ $order->created_at }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.order-status') }}
</span>
<span class="value">
{{ $order->status_label }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.channel') }}
</span>
<span class="value">
{{ $order->channel_name }}
</span>
</div>
</div>
</div>
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.customer-name') }}
</span>
<span class="value">
{{ $order->customer_full_name }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.email') }}
</span>
<span class="value">
{{ $order->customer_email }}
</span>
</div>
</div>
</div>
</div>
</div>
</accordian>
@if ($order->billing_address || $order->shipping_address)
<accordian title="{{ __('admin::app.sales.orders.address') }}" :active="true">
<div slot="body">
<div class="sale">
@if ($order->billing_address)
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
</div>
<div class="section-content">
@include ('admin::sales.address', ['address' => $order->billing_address])
</div>
</div>
@endif
@if ($order->shipping_address)
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
</div>
<div class="section-content">
@include ('admin::sales.address', ['address' => $order->shipping_address])
</div>
</div>
@endif
</div>
</div>
</accordian>
@endif
<accordian title="{{ __('admin::app.sales.orders.payment-and-shipping') }}" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.payment-method') }}
</span>
<span class="value">
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.currency') }}
</span>
<span class="value">
{{ $order->order_currency_code }}
</span>
</div>
</div>
</div>
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.shipping-method') }}
</span>
<span class="value">
{{ $order->shipping_title }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.shipping-price') }}
</span>
<span class="value">
{{ core()->formatBasePrice($order->base_shipping_amount) }}
</span>
</div>
<div class="control-group" style="margin-top: 40px">
<label for="shipment[carrier_title]">{{ __('admin::app.sales.shipments.carrier-title') }}</label>
<input type="text" class="control" id="shipment[carrier_title]" name="shipment[carrier_title]"/>
</div>
<div class="control-group">
<label for="shipment[track_number]">{{ __('admin::app.sales.shipments.tracking-number') }}</label>
<input type="text" class="control" id="shipment[track_number]" name="shipment[track_number]"/>
</div>
</div>
</div>
</div>
</div>
</accordian>
<accordian title="{{ __('admin::app.sales.orders.products-ordered') }}" :active="true">
<div slot="body">
<order-item-list></order-item-list>
</div>
</accordian>
</div>
<div class="page-action">
<button type="submit" class="btn btn-lg btn-primary">
{{ __('admin::app.sales.shipments.save-btn-title') }}
</button>
</div>
</form>
</div>
</div>
<div class="page-content">
<div class="sale-container">
<accordian title="{{ __('admin::app.sales.orders.order-and-account') }}" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.shipments.order-id') }}
</span>
<span class="value">
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.order-date') }}
</span>
<span class="value">
{{ $order->created_at }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.order-status') }}
</span>
<span class="value">
{{ $order->status_label }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.channel') }}
</span>
<span class="value">
{{ $order->channel_name }}
</span>
</div>
</div>
</div>
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.customer-name') }}
</span>
<span class="value">
{{ $order->customer_full_name }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.email') }}
</span>
<span class="value">
{{ $order->customer_email }}
</span>
</div>
</div>
</div>
</div>
</div>
</accordian>
@if ($order->billing_address || $order->shipping_address)
<accordian title="{{ __('admin::app.sales.orders.address') }}" :active="true">
<div slot="body">
<div class="sale">
@if ($order->billing_address)
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
</div>
<div class="section-content">
@include ('admin::sales.address', ['address' => $order->billing_address])
</div>
</div>
@endif
@if ($order->shipping_address)
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
</div>
<div class="section-content">
@include ('admin::sales.address', ['address' => $order->shipping_address])
</div>
</div>
@endif
</div>
</div>
</accordian>
@endif
<accordian title="{{ __('admin::app.sales.orders.payment-and-shipping') }}" :active="true">
<div slot="body">
<div class="sale">
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.payment-method') }}
</span>
<span class="value">
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.currency') }}
</span>
<span class="value">
{{ $order->order_currency_code }}
</span>
</div>
</div>
</div>
<div class="sale-section">
<div class="secton-title">
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
</div>
<div class="section-content">
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.shipping-method') }}
</span>
<span class="value">
{{ $order->shipping_title }}
</span>
</div>
<div class="row">
<span class="title">
{{ __('admin::app.sales.orders.shipping-price') }}
</span>
<span class="value">
{{ core()->formatBasePrice($order->base_shipping_amount) }}
</span>
</div>
<div class="control-group" style="margin-top: 40px">
<label for="shipment[carrier_title]">{{ __('admin::app.sales.shipments.carrier-title') }}</label>
<input type="text" class="control" id="shipment[carrier_title]" name="shipment[carrier_title]" />
</div>
<div class="control-group">
<label for="shipment[track_number]">{{ __('admin::app.sales.shipments.tracking-number') }}</label>
<input type="text" class="control" id="shipment[track_number]" name="shipment[track_number]" />
</div>
</div>
</div>
</div>
</div>
</accordian>
<accordian title="{{ __('admin::app.sales.orders.products-ordered') }}" :active="true">
<div slot="body">
<order-item-list></order-item-list>
</div>
</accordian>
</div>
</div>
</form>
</div>
@stop
@push('scripts')
<script type="text/x-template" id="order-item-list-template">
<div>
<script type="text/x-template" id="order-item-list-template">
<div>
<div class="control-group" :class="[errors.has('shipment[source]') ? 'has-error' : '']">
<label for="shipment[source]" class="required">{{ __('admin::app.sales.shipments.source') }}</label>
@ -324,7 +324,7 @@
<div class="control-group" :class="[errors.has('{{ $inputName }}') ? 'has-error' : '']">
<input type="text" v-validate="'required|numeric|min_value:0|max_value:{{$sourceQty}}'" class="control" id="{{ $inputName }}" name="{{ $inputName }}" value="{{ $item->qty_to_ship }}" data-vv-as="&quot;{{ __('admin::app.sales.shipments.qty-to-ship') }}&quot;" :disabled="source != '{{ $inventorySource->id }}'"/>
<input type="text" v-validate="'required|numeric|min_value:0|max_value:{{$item->qty_ordered}}'" class="control" id="{{ $inputName }}" name="{{ $inputName }}" value="{{ $item->qty_to_ship }}" data-vv-as="&quot;{{ __('admin::app.sales.shipments.qty-to-ship') }}&quot;" :disabled="source != '{{ $inventorySource->id }}'"/>
<span class="control-error" v-if="errors.has('{{ $inputName }}')">
@verbatim
@ -349,19 +349,19 @@
</div>
</script>
<script>
Vue.component('order-item-list', {
<script>
Vue.component('order-item-list', {
template: '#order-item-list-template',
template: '#order-item-list-template',
inject: ['$validator'],
inject: ['$validator'],
data: function() {
return {
source: ""
}
data: function() {
return {
source: ""
}
});
</script>
}
});
</script>
@endpush

View File

@ -89,7 +89,7 @@ Route::group(['middleware' => ['web', 'admin'], 'prefix' => config('app.admin_ur
])->name('admin.sales.refunds.create');
Route::post('/refunds/create/{order_id}', [RefundController::class, 'store'])->defaults('_config', [
'redirect' => 'admin.sales.orders.view',
'redirect' => 'admin.sales.refunds.index',
])->name('admin.sales.refunds.store');
Route::post('/refunds/update-qty/{order_id}', [RefundController::class, 'updateQty'])->defaults('_config', [

View File

@ -69,8 +69,12 @@ class WishlistController extends Controller
{
$product = $this->productRepository->findOneByField('id', $itemId);
if (! $product->status)
if ( $product == null ) {
session()->flash('error', trans('customer::app.product-removed'));
return redirect()->back();
} elseif (! $product->status) {
return redirect()->back();
}
$data = [
'channel_id' => core()->getCurrentChannel()->id,

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'تمت إزالة جميع العناصر من قائمة الأمنيات الخاصة بك',
],
'product-removed' => 'Product Is No More Available As Removed By Admin',
'reviews' => [
'empty' => '.لم تقم بمراجعة أي منتج حتى الآن',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'Alle Elemente von Ihrer Wunschliste wurden entfernt',
],
'product-removed' => 'Das Produkt ist nicht mehr verfügbar, da es vom Administrator entfernt wurde',
'reviews' => [
'empty' => 'Sie haben noch kein Produkt bewertet',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'All The Items From Your Wishlist Have Been Removed',
],
'product-removed' => 'Product Is No More Available As Removed By Admin',
'reviews' => [
'empty' => 'You have not reviewed any product yet',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'Se han eliminado todos los elementos de su lista de deseos',
],
'product-removed' => 'El producto ya no está disponible porque lo eliminó el administrador',
'reviews' => [
'empty' => 'Aún no has calificado ningún producto',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'Tous les articles de votre liste de souhaits ont été supprimés',
],
'product-removed' => 'Le produit n est plus disponible car supprimé par l administrateur',
'reviews' => [
'empty' => 'Vous n\'avez pas encore évalué de produit',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'Tutti i Prodotti presenti nei preferiti sono stati rimossi',
],
'product-removed' => 'Il prodotto non è più disponibile in quanto rimosso dall amministratore',
'reviews' => [
'empty' => 'Non hai ancora recensito i nostri prodotti'
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'Alle items van je verlanglijst zijn verwijderd',
],
'product-removed' => 'Product is niet meer beschikbaar zoals verwijderd door beheerder',
'reviews' => [
'empty' => 'U heeft nog geen product beoordeeld',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'Todos os itens da sua lista de desejos foram removidos',
],
'product-removed' => 'Product Is No More Available As Removed By Admin',
'reviews' => [
'empty' => 'Você não avaliou nenhum produto ainda',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => 'İstek Listenizdeki Tüm Öğeler Kaldırıldı',
],
'product-removed' => 'Ürün Yönetici Tarafından Kaldırıldığı İçin Artık Mevcut Değil',
'reviews' => [
'empty' => 'Henüz hiçbir ürünü incelemediniz',
],

View File

@ -12,6 +12,8 @@ return [
'remove-all-success' => '您的愿望清单中的所有项目都已被删除',
],
'product-removed' => 'لم يعد المنتج متاحًا كما تمت إزالته بواسطة المسؤول',
'reviews' => [
'empty' => '您还没有评论任何产品',
],

View File

@ -150,7 +150,7 @@ class ReviewController extends Controller
return redirect()->back();
}
if ($data['massaction-type'] !== 'update') {
if (! $data['massaction-type'] == 'update') {
return redirect()->back();
}

View File

@ -172,9 +172,7 @@ class Configurable extends AbstractType
$permutation[$superAttribute->id] = $variantData[$superAttribute->code];
}
$variant = $this->createVariant($product, $permutation, $variantData);
$this->productImageRepository->upload($variant, $variantData['images'] ?? null);
$this->createVariant($product, $permutation, $variantData);
} else {
if (is_numeric($index = $previousVariantIds->search($variantId))) {
$previousVariantIds->forget($index);
@ -302,6 +300,8 @@ class Configurable extends AbstractType
$this->productInventoryRepository->saveInventories($data, $variant);
$this->productImageRepository->upload($data, $variant, 'images');
return $variant;
}

View File

@ -82,7 +82,11 @@ class CartController extends Controller
['product_id' => $id, 'cart_id' => cart()->getCart() ?? 0]
);
return redirect()->route('shop.productOrCategory.index', $product->url_key);
if ($product != null) {
return redirect()->route('shop.productOrCategory.index', $product->url_key);
}
session()->flash('error', trans('customer::app.product-removed'));
}
return redirect()->back();

View File

@ -230,6 +230,10 @@ class OnepageController extends Controller
throw new \Exception(trans('shop::app.checkout.cart.suspended-account-message'));
}
if (auth()->guard('customer')->user() && ! auth()->guard('customer')->user()->status) {
throw new \Exception(trans('shop::app.checkout.cart.inactive-account-message'));
}
if (! $cart->checkMinimumOrder()) {
throw new \Exception(trans('shop::app.checkout.cart.minimum-order-message', ['amount' => core()->currency($minimumOrderAmount)]));
}

View File

@ -34,7 +34,12 @@ class ReviewController extends Controller
public function create($slug)
{
if (auth()->guard('customer')->check() || core()->getConfigData('catalog.products.review.guest_review')) {
$product = $this->productRepository->findBySlugOrFail($slug);
$product = $this->productRepository->findBySlug($slug);
if ($product == null) {
session()->flash('error', trans('customer::app.product-removed'));
return redirect()->back();
}
return view($this->_config['view'], compact('product'));
}

View File

@ -539,6 +539,7 @@ return [
],
'minimum-order-message' => 'الحد الأدنى لمبلغ الطلب هو :amount',
'suspended-account-message' => 'تم تعليق حسابك.',
'inactive-account-message' => 'كان حسابك غير نشط.',
'check-shipping-address' => 'يرجى التحقق من عنوان الشحن.',
'check-billing-address' => 'يرجى التحقق من عنوان الفواتير.',
'specify-shipping-method' => 'الرجاء تحديد طريقة الشحن.',

View File

@ -533,6 +533,7 @@ return [
],
'minimum-order-message' => 'ন্যূনতম অর্ডারের পরিমাণ হল :অ্যামাউন্ট',
'suspended-account-message' => 'আপনার অ্যাকাউন্ট স্থগিত করা হয়েছে.',
'inactive-account-message' => 'আপনার অ্যাকাউন্ট নিষ্ক্রিয় করা হয়েছে.',
'check-shipping-address' => 'অনুগ্রহ করে শিপিং ঠিকানা চেক করুন।',
'check-billing-address' => 'বিলিং ঠিকানা চেক করুন।',
'specify-shipping-method' => 'অনুগ্রহ করে শিপিং পদ্ধতি উল্লেখ করুন।',

View File

@ -531,6 +531,7 @@ return [
'link-missing' => '',
'minimum-order-message' => 'Mindestbestellmenge ist :amount',
'suspended-account-message' => 'Your account has been suspended.',
'inactive-account-message' => 'Ihr Konto war inaktiv.',
'check-shipping-address' => 'Please check shipping address.',
'check-billing-address' => 'Please check billing address.',
'specify-shipping-method' => 'Please specify shipping method.',

View File

@ -538,6 +538,7 @@ return [
],
'minimum-order-message' => 'Minimum order amount is :amount',
'suspended-account-message' => 'Your account has been suspended.',
'inactive-account-message' => 'Your account has been inactive.',
'check-shipping-address' => 'Please check shipping address.',
'check-billing-address' => 'Please check billing address.',
'specify-shipping-method' => 'Please specify shipping method.',

View File

@ -536,6 +536,7 @@ return [
],
'minimum-order-message' => 'La cantidad mínima de pedido es :amount',
'suspended-account-message' => 'Your account has been suspended.',
'inactive-account-message' => 'Su cuenta ha estado inactiva.',
'check-shipping-address' => 'Please check shipping address.',
'check-billing-address' => 'Please check billing address.',
'specify-shipping-method' => 'Please specify shipping method.',

View File

@ -534,6 +534,7 @@ return [
],
'minimum-order-message' => 'حداقل مقدار سفارش است :amount',
'suspended-account-message' => 'Your account has been suspended.',
'inactive-account-message' => 'Your account has been inactive.',
'check-shipping-address' => 'Please check shipping address.',
'check-billing-address' => 'Please check billing address.',
'specify-shipping-method' => 'Please specify shipping method.',

View File

@ -537,6 +537,7 @@ return [
'minimum-order-message' => 'Le montant minimum de commande est de :amount',
'suspended-account-message' => 'Your account has been suspended.',
'inactive-account-message' => 'Your account has been inactive.',
'check-shipping-address' => 'Please check shipping address.',
'check-billing-address' => 'Please check billing address.',
'specify-shipping-method' => 'Please specify shipping method.',

View File

@ -532,6 +532,7 @@ return [
],
'minimum-order-message' => 'כמות ההזמנה המינימלית היא :כמות',
'suspended-account-message' => 'חשבונך הושעה.',
'inactive-account-message' => 'החשבון שלך לא היה פעיל.',
'check-shipping-address' => 'אנא בדוק כתובת למשלוח.',
'check-billing-address' => 'אנא בדוק את כתובת החיוב.',
'specify-shipping-method' => 'אנא ציין את שיטת המשלוח.',

View File

@ -534,6 +534,7 @@ return [
],
'minimum-order-message' => 'Minimalna kwota zamówienia to :amount',
'suspended-account-message' => 'Your account has been suspended.',
'inactive-account-message' => 'Your account has been inactive.',
'check-shipping-address' => 'Please check shipping address.',
'check-billing-address' => 'Please check billing address.',
'specify-shipping-method' => 'Please specify shipping method.',

View File

@ -533,6 +533,7 @@ return [
],
'minimum-order-message' => 'Минимальная сумма заказа: сумма',
'suspended-account-message' => 'Ваша учетная запись была приостановлена.',
'inactive-account-message' => 'Your account has been inactive.',
'check-shipping-address' => 'Пожалуйста, проверьте адрес доставки.',
'check-billing-address' => 'Пожалуйста, проверьте платежный адрес.',
'specify-shipping-method' => '«Укажите способ доставки».',

View File

@ -535,6 +535,7 @@ return [
],
'minimum-order-message' => 'Minimum order amount is :amount',
'suspended-account-message' => 'Your account has been suspended.',
'inactive-account-message' => 'Your account has been inactive.',
'check-shipping-address' => 'Please check shipping address.',
'check-billing-address' => 'Please check billing address.',
'specify-shipping-method' => 'Please specify shipping method.',

View File

@ -535,6 +535,7 @@ return [
],
'minimum-order-message' => '最低订购金额为 :amount',
'suspended-account-message' => '您的帐户已被暂停.',
'inactive-account-message' => '您的帐户一直处于非活动状态',
'check-shipping-address' => '请检查收货地址.',
'check-billing-address' => '请检查帐单地址.',
'specify-shipping-method' => '请指定送货方式.',

View File

@ -80,6 +80,14 @@ class ComparisonController extends Controller
->orWhere('id', $productId)
->get()
->first();
if ($productFlat == null) {
return response()->json([
'status' => 'warning',
'message' => trans('customer::app.product-removed'),
'label' => trans('velocity::app.shop.general.alert.warning'),
]);
}
if ($productFlat) {
$productId = $productFlat->id;