Commit 934c04cf by Francisco Salazar

Merge branch 'master' of bunkrbit.com:bsabbath/onestartup-shop

parents c0ef4387 5349220b
......@@ -12,6 +12,8 @@ use Onestartup\Shop\Model\ProductShop as Product;
use Onestartup\Shop\Model\ExtraField as Extra;
use Onestartup\Shop\Model\ProductShopInfo as ProductInfo;
use Onestartup\Shop\Model\CategoriaSat;
use Onestartup\Shop\Model\Billing;
use Onestartup\Shop\Model\VariableExtra as Variable;
use Onestartup\Shop\DataTables\ClientDataTable;
use Onestartup\Shop\DataTables\OrderDataTable;
......@@ -19,6 +21,7 @@ use Onestartup\Shop\DataTables\StockDataTable;
use Onestartup\Shop\Model\SaleShop as Sale;
use Onestartup\Shop\Model\OrderTracking as Tracking;
use Onestartup\Shop\Model\ConfiguracionFactura as Config;
use Onestartup\Shop\Libs\Util;
use Onestartup\Shop\Requests\RequestProduct;
......@@ -298,6 +301,9 @@ class AdminProductController extends Controller
$promo = null;
$shipping = null;
$shipping_price = null;
$var = Variable::first();
$variable = $var != null ? $var : new Variable();
if ($sale->coupon != null) {
$promo = $this->util->getDiscount($sale, $sale->coupon);
......@@ -337,6 +343,7 @@ class AdminProductController extends Controller
->with('estado', $estado)
->with('promo', $promo)
->with('shipping_price', $shipping_price)
->with('variable', $variable)
->with('shipping', $shipping);
}
......@@ -456,4 +463,235 @@ class AdminProductController extends Controller
}
public function facturar(Request $request, $sale_id)
{
$sale = Sale::find($sale_id);
$billing = $sale->billing;
$products = $sale->products;
$conceptos = [];
$util = new Util();
$config = Config::first();
$emisor = \FacturaDigital::emisor()
->setRegimenFiscal($config->regimen_fiscal)
->getData();
$receptor = \FacturaDigital::receptor()
->setRfc($billing->rfc)
->setNombre($billing->razon)
->setUsoCFDI($billing->uso_cfdi)
->setCalle($billing->calle != null ? $billing->calle : '')
->setNoExt($billing->numero != null ? $billing->numero : '')
->setColonia($billing->colonia != null ? $billing->colonia : '')
->setMunicipio($billing->ciudad != null ? $billing->ciudad : '')
->setEstado($billing->estado != null ? $billing->estado : '')
->setPais('Mexico')
->setCodigoPostal($billing->cp != null ? $billing->cp : '')
->getData();
foreach ($products as $product) {
$concepto = \FacturaDigital::concepto()
->setClaveProdServ($product->categoria_sat->clave_producto)
->setNoIdentificacion($product->id)
->setCantidad($product->pivot->quantity)
->setClaveUnidad($product->categoria_sat->clave_unidad)
->setUnidad($product->categoria_sat->unidad)
->setDescripcion($product->name)
->setValorUnitario($product->infoSale->sale_price)
->getData();
array_push($conceptos, $concepto);
}
if ($sale->home_delivery) {
$envio = $sale->client->shipping->shipping_price;
$concepto = \FacturaDigital::concepto()
->setClaveProdServ('78102203')
->setNoIdentificacion(1000)
->setCantidad(1)
->setClaveUnidad('E48')
->setUnidad('Unidad de Servicio')
->setDescripcion($envio->name)
->setValorUnitario($envio->cost)
->getData();
array_push($conceptos, $concepto);
}
$lista = \FacturaDigital::listaConceptos();
$lista->setConceptos($conceptos);
$totales = $lista->getTotalConceptos();
$descuento = null;
$descuento_aux = 0;
if($sale->coupon != null) {
$data_discount = $util->getDiscount($sale, $sale->coupon);
$descuento = $data_discount['amount_unformated'];
$descuento_aux = $data_discount['amount_unformated'];
}
$factura = \FacturaDigital::setSerie('F')
->setFolio($sale->id)
->setFecha('AUTO')
->setFormaPago($billing->forma_pago)
->setCondicionesDePago('Pago de contado')
->setMoneda('MXN')
->setTipoCambio('1')
->setTipoDeComprobante('I')
->setMetodoPago('PUE')
->setLugarExpedicion($config->lugar_expedicion) //C.P.
->setLeyendaFolio('Folio')
->setSubTotal($totales['totalConceptos'])
->setDescuento($descuento)
->setTotal($totales['totalConceptos'] + $totales['totalImpuestos'] - $descuento_aux );
$impuesto = \FacturaDigital::impuesto()
->getData($totales['totalImpuestos']);
$factura->setEmisor($emisor);
$factura->setReceptor($receptor);
$factura->setConceptos($lista->getData());
$factura->setImpuestos($impuesto);
//return $factura->getData();
$factura_final = $factura->enviar();
if ($factura_final['codigo'] == 200) {
$billing->uuid=$factura_final['cfdi']['UUID'];
$billing->pdf=$factura_final['cfdi']['PDF'];
$billing->xml=$factura_final['cfdi']['XML'];
$billing->status = 1;
$billing->save();
$enviar = $factura->enviarCorreo($factura_final['cfdi']['UUID'], $billing->correo, '');
if ($enviar) {
return redirect()->back()->with('message_success', "Factura enviada por correo");
} else {
return redirect()->back()->with('message_warning', "No se pudo enviar la factura");
}
} else {
return redirect()->back()->with('message_danger', $factura_final['mensaje'].' ó Verifica que los datos del cliente sean correctos');
}
}
public function facturaEnviar(Request $request, $billing_id) {
$billing = Billing::find($billing_id);
$enviar = \FacturaDigital::enviarCorreo($billing->uuid, $billing->correo, '');
if ($enviar) {
return redirect()->back()->with('message_success', "Factura enviada por correo");
} else {
return redirect()->back()->with('message_warning', "No se pudo enviar la factura");
}
}
public function facturaCancelar(Request $request, $billing_id) {
$billing = Billing::find($billing_id);
$cancela = \FacturaDigital::cancelarCFDI($billing->uuid);
if ($cancela['codigo'] != 200) {
$billing->status = 2;
$billing->save();
return redirect()->back()->with('message_warning', $cancela['mensaje']);
} else {
return redirect()->back()->with('message_danger', $cancela['mensaje']);
}
}
public function showConfigs() {
$config = Config::first();
$regimen = [
'603' => 'Personas Morales con Fines no Lucrativos',
'605' => 'Sueldos y Salarios e Ingresos Asimilados a Salarios',
'606' => 'Arrendamiento',
'608' => 'Demás ingresos',
'609' => 'Consolidación',
'610' => 'Residentes en el Extranjero sin Establecimiento Permanente en México',
'611' => 'Ingresos por Dividendos (socios y accionistas)',
'612' => 'Personas Físicas con Actividades Empresariales y Profesionales',
'614' => 'Ingresos por intereses',
'616' => 'Sin obligaciones fiscales',
'620' => 'Sociedades Cooperativas de Producción que optan por diferir sus ingresos',
'621' => 'Incorporación Fiscal',
'622' => 'Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras',
'623' => 'Opcional para Grupos de Sociedades',
'624' => 'Coordinados',
'628' => 'Hidrocarburos',
'607' => 'Régimen de Enajenación o Adquisición de Bienes',
'629' => 'De los Regímenes Fiscales Preferentes y de las Empresas Multinacionales',
'630' => 'Enajenación de acciones en bolsa de valores',
'615' => 'Régimen de los ingresos por obtención de premios'
];
if ($config == null) {
$config = new Config();
}
return view('shop::config_factura.edit')
->with('config', $config)
->with('regimen', $regimen);
}
public function postConfigs(Request $request) {
$config = Config::first();
if ($config == null) {
$config = new Config();
}
$config->fill($request->all());
$config->save();
return redirect()
->back()
->with('message_success', 'Información actualizada');
}
public function showVars()
{
$variable = Variable::first();
if ($variable == null) {
$variable = new Variable();
}
return view('shop::variable.edit')
->with('variable', $variable);
}
public function postVars(Request $request)
{
$variable = Variable::first();
if ($variable == null) {
$variable = new Variable();
}
$variable->fill($request->all());
$variable->save();
return redirect()
->back()
->with('message_success', 'Información actualizada');
}
}
......@@ -37,6 +37,8 @@ use PayPal\Api\ItemList;
use PayPal\Api\Details;
use Onestartup\Shop\Libs\Util;
use Onestartup\Shop\Model\VariableExtra as Variable;
use Onestartup\Shop\Model\ExtraSaleInfo;
class CartController extends Controller
......@@ -251,6 +253,13 @@ public function shipping()
$sale->save();
}
if ($request->additional) {
$additional = new ExtraSaleInfo($request->all());
$sale->info_extra()->save($additional);
}
\Session::put('sale', $sale);
\Session::put('client', $client);
......@@ -993,6 +1002,14 @@ public function facturacion($order_id)
\DB::raw("CONCAT(descripcion,' - Persona Física ',fisica, ', Persona Moral ', moral) AS resumen"),'clave_uso')
->pluck('resumen', 'clave_uso');
$forma_pago = [
'01' => 'Efectivo',
'02' => 'Cheque Nominativo',
'03' => 'Transferencia electrónica',
'04' => 'Tarjeta de crédito',
'28' => 'Tarjeta de débito'
];
if ($order->billing()->count() > 0 ) {
$billing = $order->billing;;
......@@ -1009,6 +1026,7 @@ public function facturacion($order_id)
->with('products', $products)
->with('total', 0)
->with('uso_cfdi', $uso_cfdi)
->with('forma_pago', $forma_pago)
->with('addres', $addres);
......@@ -1020,9 +1038,13 @@ public function facturacionStore(Request $request, $order_id)
$order = Sale::find($id_decript);
$billing = null;
if ($order->billing()->count() <= 0 ) {
if ($order->billing()->count() < 1 ) {
$billing = new Billing($request->all());
$order->billing()->save($billing);
} else {
$billing = $order->billing;
$billing->fill($request->all());
$billing->save();
}
......
......@@ -24,6 +24,8 @@ class OrderDataTable extends DataTable
->addColumn('orden', function(Sale $sale) {
$estado = "";
$html = "";
$facturacion = $sale->facturacion != null ? $sale->facturacion : 'N/A';
$enviar_factura = "<br><b><span class='label warning'>Datos no proporcionados aún</span></b>";
if ($sale->status == 0) {
$estado = "<span class='label danger'>Cancelado</span>";
}
......@@ -47,6 +49,24 @@ class OrderDataTable extends DataTable
} else {
$html = "Estado: <b>$estado</b><br>Tipo: <b>$sale->payment_type</b> <br>Transaccion:<br><b>$sale->transaction_id</b><br>Envio: <b>Recojer en la tienda</b>";
}
$html = $html."<br>Requiere factura: <b><span class='label info'>".$facturacion."</span></b>";
if ($facturacion == "Si") {
if ($sale->billing()->count() > 0) {
$billing = $sale->billing;
$enviar_factura = "<br><b><span class='label warning'>Factura pendiente</span></b>";
if ($billing->status == 1 ) {
$enviar_factura = "<br><b><span class='label success'>Factura enviada</span></b>";
}
if ($billing->status == 2 ) {
$enviar_factura = "<br><b><span class='label danger'>Factura cancelada</span></b>";
}
}
$html = $html.$enviar_factura;
}
return $html;
})
......@@ -65,7 +85,7 @@ class OrderDataTable extends DataTable
*/
public function query(Sale $model)
{
return $model->select(['id', 'client_id', 'status', 'payment_type','transaction_id', 'total', 'created_at'])->where('status', '!=', 0)->orderBy('id', 'desc');
return $model->select(['id', 'client_id', 'status', 'payment_type','transaction_id', 'total', 'facturacion','created_at'])->where('status', '!=', 0)->orderBy('id', 'desc');
}
/**
......
......@@ -19,12 +19,12 @@ class CreateBillingsTable extends Migration
$table->string('razon');
$table->string('rfc');
$table->string('correo');
$table->string('cp');
$table->string('calle');
$table->string('numero');
$table->string('colonia');
$table->string('ciudad');
$table->string('estado');
$table->string('cp')->nullable();
$table->string('calle')->nullable();
$table->string('numero')->nullable();
$table->string('colonia')->nullable();
$table->string('ciudad')->nullable();
$table->string('estado')->nullable();
$table->tinyInteger('status')->default(0);
$table->integer('sale_id')->unsigned();
......
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddFormaPagoToBillingTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('billings', function (Blueprint $table) {
$table->string('forma_pago');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('billings', function (Blueprint $table) {
$table->dropColumn('forma_pago');
});
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateConfiguracionFacturasTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('configuracion_facturas', function (Blueprint $table) {
$table->increments('id');
$table->string('regimen_fiscal');
$table->string('lugar_expedicion');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('configuracion_facturas');
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateExtraSaleInfosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('extra_sale_infos', function (Blueprint $table) {
$table->increments('id');
$table->string('extra1', 455)->nullable();
$table->string('extra2', 455)->nullable();
$table->string('extra3', 455)->nullable();
$table->string('extra4', 455)->nullable();
$table->string('extra5', 455)->nullable();
$table->string('extra6', 455)->nullable();
$table->string('extra7', 455)->nullable();
$table->string('extra8', 455)->nullable();
$table->string('extra9', 455)->nullable();
$table->string('extra10', 455)->nullable();
$table->integer('sale_id')->unsigned();
$table->foreign('sale_id')->references('id')->on('sale_shops');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('extra_sale_infos');
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateVariableExtrasTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('variable_extras', function (Blueprint $table) {
$table->increments('id');
$table->string('alias1', 455)->nullable();
$table->string('alias2', 455)->nullable();
$table->string('alias3', 455)->nullable();
$table->string('alias4', 455)->nullable();
$table->string('alias5', 455)->nullable();
$table->string('alias6', 455)->nullable();
$table->string('alias7', 455)->nullable();
$table->string('alias8', 455)->nullable();
$table->string('alias9', 455)->nullable();
$table->string('alias10', 455)->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('variable_extras');
}
}
......@@ -22,7 +22,8 @@ class Billing extends Model
'folio',
'uuid',
'pdf',
'xml'
'xml',
'forma_pago'
];
public function sale()
......
<?php
namespace Onestartup\Shop\Model;
use Illuminate\Database\Eloquent\Model;
class ConfiguracionFactura extends Model
{
protected $table = 'configuracion_facturas';
protected $fillable = [
'regimen_fiscal',
'lugar_expedicion'
];
}
<?php
namespace Onestartup\Shop\Model;
use Illuminate\Database\Eloquent\Model;
class ExtraSaleInfo extends Model
{
protected $table = 'extra_sale_infos';
protected $fillable = [
'extra1',
'extra2',
'extra3',
'extra4',
'extra5',
'extra6',
'extra7',
'extra8',
'extra9',
'extra10',
'sale_id'
];
public function sale()
{
return $this->belongsTo(SaleShop::class, 'sale_id');
}
}
......@@ -50,4 +50,9 @@ class SaleShop extends Model
return $this->hasOne('Onestartup\Shop\Model\Billing', 'sale_id');
}
public function info_extra()
{
return $this->hasOne(ExtraSaleInfo::class, 'sale_id');
}
}
<?php
namespace Onestartup\Shop\Model;
use Illuminate\Database\Eloquent\Model;
class VariableExtra extends Model
{
protected $table = 'variable_extras';
protected $fillable = [
'alias1',
'alias2',
'alias3',
'alias4',
'alias5',
'alias6',
'alias7',
'alias8',
'alias9',
'alias10',
'alias11'
];
}
......@@ -11,6 +11,7 @@ use Onestartup\Shop\Model\SaleShop as Order;
use Onestartup\Shop\Model\ClientShop as Client;
use Onestartup\Shop\Model\ShippingAddres as Shipping;
use Onestartup\Shop\Libs\Util;
use Onestartup\Shop\Model\VariableExtra as Variable;
class ResumenOrder extends Notification
{
......@@ -21,6 +22,8 @@ class ResumenOrder extends Notification
protected $client;
protected $shipping;
protected $promo = null;
protected $additional = null;
protected $variable = null;
......@@ -36,6 +39,9 @@ class ResumenOrder extends Notification
$this->shipping = $shipping;
$this->client = $client;
$this->additional = $order->info_extra;
$this->variable = Variable::first();
if ($this->order->coupon != null) {
$util = new Util();
$this->promo = $util->getDiscount($order, $order->coupon);
......@@ -68,7 +74,9 @@ class ResumenOrder extends Notification
'products' => $this->products,
'client' => $this->client,
'shipping' => $this->shipping,
'promo' => $this->promo
'promo' => $this->promo,
'additional' => $this->additional,
'variable' => $this->variable
]);
}
......
......@@ -11,6 +11,18 @@ Route::group(['middleware' => ['web', 'auth', 'is_admin']], function(){
Route::resource('admin/shop/shipping', 'Onestartup\Shop\Controller\ShippingPriceController', ['as'=>'admin.shop']);
Route::put('admin/shop/facturar/{sale_id}',
'Onestartup\Shop\Controller\AdminProductController@facturar')
->name('admin.shop.facturar');
Route::put('admin/shop/facturaCancelar/{billing_id}',
'Onestartup\Shop\Controller\AdminProductController@facturaCancelar')
->name('admin.shop.facturaCancelar');
Route::put('admin/shop/facturaEnviar/{billing_id}',
'Onestartup\Shop\Controller\AdminProductController@facturaEnviar')
->name('admin.shop.facturaEnviar');
Route::delete('admin-shop-category/delete/cover{id}',
'Onestartup\Shop\Controller\CategoryController@deleteCover')
->name('admin-shop-category.delete.cover');
......@@ -83,6 +95,20 @@ Route::group(['middleware' => ['web', 'auth', 'is_admin']], function(){
'Onestartup\Shop\Controller\CategorySatController@apiClaveProd')
->name('admin-shop-client.apiClaveProd');
Route::get('admin/shop/config_factura',
'Onestartup\Shop\Controller\AdminProductController@showConfigs')
->name('admin.shop.config_factura');
Route::post('admin/shop/config_factura',
'Onestartup\Shop\Controller\AdminProductController@postConfigs')
->name('admin.shop.config_factura.store');
Route::get('admin/shop/variable', 'Onestartup\Shop\Controller\AdminProductController@showVars')
->name('admin.shop.variable');
Route::post('admin/shop/variable', 'Onestartup\Shop\Controller\AdminProductController@postVars')
->name('admin.shop.variable.store');
});
......
@extends('crm-admin::main-layout')
@section('breadcrumb')
<li class="breadcrumb-item">
<li class="breadcrumb-item">
<a href="{{route('home')}}">Home</a>
</li>
<li class="breadcrumb-item">
</li>
<li class="breadcrumb-item">
<a href="{{route('admin-shop-client.orders')}}">Tienda</a>
</li>
<li class="breadcrumb-item active">
</li>
<li class="breadcrumb-item active">
Detalle orden #{{$sale->id}}
</li>
</li>
@endsection
@section('content')
......@@ -37,6 +37,13 @@ setlocale(LC_MONETARY, 'en_US');
<h6>Envio y factura</h6>
</a>
</li>
@if($variable->count() > 0)
<li class="nav-item">
<a class="nav-link block" href="" data-toggle="tab" data-target="#tab-4">
<h6>Detalles adicionales</h6>
</a>
</li>
@endif
</ul>
</div>
......@@ -215,34 +222,47 @@ setlocale(LC_MONETARY, 'en_US');
<div class="box">
<div class="box-body">
<div class="row">
<div class="col-md-6">
@if($shipping != null)
<h4>Datos de facturación</h4>
<p>
¿Requiere factura? <b>{{$sale->facturacion}}</b>
</p>
@if($sale->billing()->count() > 0)
Direccion de entrega:<br>
<b>{{$shipping->calle}}, # {{$shipping->numero}}, col. {{$shipping->colonia}}</b><br>
<b>{{$shipping->ciudad}}, {{$shipping->estado}}</b><br>
C.P. <b>{{$shipping->cp}}</b><br>
Referencias:<br>
<b>{{$shipping->referencias}}</b><br>
@if($sale->billing->status == 0)
<b>Factura Pendiente</b><br>
{!! Form::model($sale,['route'=> ['admin.shop.facturar',$sale->id],"method"=>"PUT"]) !!}
{!! Form::submit('Crear y enviar factura', ['class'=>'btn-xs primary']) !!}
{!! Form::close() !!}
<br>
@endif
Estatus del envio: <a href="javascript::void()" data-target="#m-a-a" data-toggle="modal" href="#" ui-target="#animate" ui-toggle-class="zoom"><i class="fa fa-edit"></i></a><br>
<span class="label warning">{{$sale->shipping_status}}</span>
@else
<h6>
No hay datos de envio, el cliente pasará a la tienda a recoger el producto
</h6>
@if($sale->billing->status == 1)
<b>Factura Enviada</b><br>
{!! Form::model($sale->billing,['route'=> ['admin.shop.facturaEnviar',$sale->billing->id],"method"=>"PUT"]) !!}
{!! Form::submit('Reenviar factura por correo', ['class'=>'btn-xs primary']) !!}
{!! Form::close() !!}
<br>
{!! Form::model($sale->billing,['route'=> ['admin.shop.facturaCancelar',$sale->billing->id],"method"=>"PUT"]) !!}
<button class='btn btn-xs btn-danger button-mb' onclick="return confirm('¿Estás seguro de cancelar esta factura?');" type='submit'>
<i class='fas fa-trash-alt icon-special-size'></i>
Cancelar factura
</button>
{!! Form::close() !!}
<br>
UUID: <b>{{$sale->billing->uuid}}</b><br>
PDF: <a href="{{$sale->billing->pdf}}" target="blank">{{$sale->billing->pdf}}</a><br>
XML: <a href="{{$sale->billing->xml}}" target="blank">{{$sale->billing->xml}}</a><br>
@endif
</div>
@if($sale->billing->status == 2)
<b> Factura Cancelada</b><br>
@endif
<div class="col-md-6">
<p>
¿Requiere factura? <b>{{$sale->facturacion}}</b>
</p>
@if($sale->billing()->count() > 0)
<h4>Datos de facturación</h4>
Dirección: <br>
<br>Dirección: <br>
Calle {{$sale->billing->calle}} numero {{$sale->billing->numero}}, Col. {{$sale->billing->colonia}}
<br>
{{$sale->billing->ciudad}}, {{$sale->billing->estado}}. C.P. {{$sale->billing->cp}}
......@@ -263,15 +283,150 @@ setlocale(LC_MONETARY, 'en_US');
</a>
@endif
</div>
<div class="col-md-6">
@if($shipping != null)
Direccion de entrega:<br>
<b>{{$shipping->calle}}, # {{$shipping->numero}}, col. {{$shipping->colonia}}</b><br>
<b>{{$shipping->ciudad}}, {{$shipping->estado}}</b><br>
C.P. <b>{{$shipping->cp}}</b><br>
Referencias:<br>
<b>{{$shipping->referencias}}</b><br>
Estatus del envio: <a href="javascript::void()" data-target="#m-a-a" data-toggle="modal" href="#" ui-target="#animate" ui-toggle-class="zoom"><i class="fa fa-edit"></i></a><br>
<span class="label warning">{{$sale->shipping_status}}</span>
@else
<h6>
No hay datos de envio, el cliente pasará a la tienda a recoger el producto
</h6>
@endif
</div>
</div>
</div>
</div>
</div><!-- end tab-3 -->
@if($variable->count() > 0)
<div class="tab-pane" id="tab-4">
<div class="p-a-md dark _600">Detalles adicionales</div>
<div class="box">
<div class="box-body">
@if($sale->info_extra != null)
<div class="row">
<div class="col-md-6">
@if($variable->alias1 != null)
<p>
{{$variable->alias1}} :
<b>
{{$sale->info_extra->extra1}}
</b>
</p>
@endif
@if($variable->alias2 != null)
<p>
{{$variable->alias2}} :
<b>
{{$sale->info_extra->extra2}}
</b>
</p>
@endif
@if($variable->alias3 != null)
<p>
{{$variable->alias3}} :
<b>
{{$sale->info_extra->extra3}}
</b>
</p>
@endif
@if($variable->alias4 != null)
<p>
{{$variable->alias4}} :
<b>
{{$sale->info_extra->extra4}}
</b>
</p>
@endif
@if($variable->alias5 != null)
<p>
{{$variable->alias5}} :
<b>
{{$sale->info_extra->extra5}}
</b>
</p>
@endif
</div>
<div class="col-md-6">
@if($variable->alias6 != null)
<p>
{{$variable->alias6}} :
<b>
{{$sale->info_extra->extra6}}
</b>
</p>
@endif
@if($variable->alias7 != null)
<p>
{{$variable->alias7}} :
<b>
{{$sale->info_extra->extra7}}
</b>
</p>
@endif
@if($variable->alias8 != null)
<p>
{{$variable->alias8}} :
<b>
{{$sale->info_extra->extra8}}
</b>
</p>
@endif
@if($variable->alias9 != null)
<p>
{{$variable->alias9}} :
<b>
{{$sale->info_extra->extra9}}
</b>
</p>
@endif
@if($variable->alias10 != null)
<p>
{{$variable->alias10}} :
<b>
{{$sale->info_extra->extra10}}
</b>
</p>
@endif
</div>
</div>
@endif
</div>
</div>
</div><!-- end tab-4 -->
@endif
</div>
</div>
</div>
<div class="modal fade animate" data-backdrop="true" id="m-a-a">
......
@extends('crm-admin::main-layout')
@section('breadcrumb')
<li class="breadcrumb-item">
<a href="{{route('home')}}">Home</a>
</li>
<li class="breadcrumb-item active">
Configuración de datos de facturación
</li>
@endsection
@section('content')
<div class='row'>
<div class='col-md-12'>
<div class='box'>
<div class='box-header dark'>
<h2>Configuracion de datos facturación</h2>
</div>
<div class='box-body'>
<div class='col-md-12'>
{!! Form::model($config,['route'=> ['admin.shop.config_factura.store'],"method"=>"POST"]) !!}
@include('shop::config_factura.fields')
</div>
</div>
<div class='dker p-a text-right'>
<div class='col-md-12'>
{!! Form::submit('Actualizar información', ['class'=>'btn dark']) !!}
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
@endsection
<div class="row">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('regimen_fiscal', 'Régimen Fiscal') !!}
{!! Form::select('regimen_fiscal', $regimen, null, ["class"=>"form-control"]) !!}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('lugar_expedicion', 'Lugar de expedición (Código Postal)') !!}
{!! Form::text('lugar_expedicion', null, ["class"=>"form-control"]) !!}
</div>
</div>
</div>
......@@ -16,18 +16,18 @@ setlocale(LC_MONETARY, 'en_US');
@component('mail::table')
| Cantidad | Producto | Precio | Subtotal |
| :-------------: |:-------------:| :--------:| :-------:|
| Clave Prod | Cantidad | Producto | Precio | Subtotal |
| :---------: | :-------------: |:-------------:| :--------:| :-------:|
@foreach($products as $p)
| {{$p->pivot->quantity}} | {{$p->name}} | {{money_format('%(#10n', $p->infoSale->sale_price)}} | {{money_format('%(#10n', $p->infoSale->sale_price * $p->pivot->quantity)}} |
| {{$p->id}} | {{$p->pivot->quantity}} | {{$p->name}} | {{money_format('%(#10n', $p->infoSale->sale_price)}} | {{money_format('%(#10n', $p->infoSale->sale_price * $p->pivot->quantity)}} |
@endforeach
@if($shipping != null)
| 1 | {{$shipping->shipping_price->name}} | {{money_format('%(#10n',$shipping->shipping_price->cost)}} | {{money_format('%(#10n',$shipping->shipping_price->cost)}} |
| - | 1 | {{$shipping->shipping_price->name}} | {{money_format('%(#10n',$shipping->shipping_price->cost)}} | {{money_format('%(#10n',$shipping->shipping_price->cost)}} |
@endif
@if($promo != null)
| 1 | Descuento *** {{$order->coupon}} *** | {{" - ".$promo['amount']}} | {{" - ".$promo['amount']}}|
| - | 1 | Descuento *** {{$order->coupon}} *** | {{" - ".$promo['amount']}} | {{" - ".$promo['amount']}}|
@endif
| - | - | Total: | {{money_format('%(#10n',$order->total)}}|
| - | - | - | Total: | {{money_format('%(#10n',$order->total)}}|
@endcomponent
......@@ -61,6 +61,24 @@ Envio:
@endif
@endcomponent
@if($variable != null)
@component('mail::panel')
Datos adicionales:
{{$variable->alias1 != null ? '- '.$variable->alias1.': ' : ''}} {{$additional->extra1 != null ? '*** '.$additional->extra1.' ***' : ''}}
{{$variable->alias2 != null ? '- '.$variable->alias2.': ' : ''}} {{$additional->extra2 != null ? '*** '.$additional->extra2.' ***' : ''}}
{{$variable->alias3 != null ? '- '.$variable->alias3.': ' : ''}} {{$additional->extra3 != null ? '*** '.$additional->extra3.' ***' : ''}}
{{$variable->alias4 != null ? '- '.$variable->alias4.': ' : ''}} {{$additional->extra4 != null ? '*** '.$additional->extra4.' ***' : ''}}
{{$variable->alias5 != null ? '- '.$variable->alias5.': ' : ''}} {{$additional->extra5 != null ? '*** '.$additional->extra5.' ***' : ''}}
{{$variable->alias6 != null ? '- '.$variable->alias6.': ' : ''}} {{$additional->extra6 != null ? '*** '.$additional->extra6.' ***' : ''}}
{{$variable->alias7 != null ? '- '.$variable->alias7.': ' : ''}} {{$additional->extra7 != null ? '*** '.$additional->extra7.' ***' : ''}}
{{$variable->alias8 != null ? '- '.$variable->alias8.': ' : ''}} {{$additional->extra8 != null ? '*** '.$additional->extra8.' ***' : ''}}
{{$variable->alias9 != null ? '- '.$variable->alias9.': ' : ''}} {{$additional->extra9 != null ? '*** '.$additional->extra9.' ***' : ''}}
{{$variable->alias10 != null ? '- '.$variable->alias10.': ' : ''}} {{$additional->extra10 != null ? '*** '.$additional->extra10.' ***' : ''}}
@endcomponent
@endif
Gracias por tu compra,<br>
{{ config('app.name') }}
......
......@@ -60,6 +60,27 @@ setlocale(LC_MONETARY, 'en_US');
<br>
</section>
<section>
<h4>Información adicional</h4>
{!! Form::hidden('additional', true) !!}
<div class="form-group">
{!! Form::label('extra1', 'Fecha de envío', ['class'=>'']) !!}
{!! Form::text('extra1', null, ['class'=>'form-control', 'required'=>'required']) !!}
</div>
<div>
{!! Form::label('extra2', 'Hora de envio', ['class'=>'']) !!}
{!! Form::text('extra2', null, ['class'=>'form-control', 'required'=>'required']) !!}
</div>
<div>
{!! Form::label('extra3', 'Destinatario', ['class'=>'']) !!}
{!! Form::text('extra3', null, ['class'=>'form-control', 'required'=>'required']) !!}
</div>
<div>
{!! Form::label('extra4', 'Dedicatoria', ['class'=>'']) !!}
{!! Form::text('extra4', null, ['class'=>'form-control', 'required'=>'required']) !!}
</div>
</section>
{!! Form::submit('Enviar información', ['class'=>'']) !!}
{!! Form::close() !!}
......
<div class="form-group">
{!! Form::label('razon', 'Nombre o razón social', ['class'=>'form-control']) !!}
{!! Form::label('razon', 'Nombre o razón social *', ['class'=>'form-control']) !!}
{!! Form::text('razon', null, ['class'=>'form-control','required'=>'required']) !!}
</div>
<div class="form-group">
{!! Form::label('rfc', 'RFC', ['class'=>'form-control']) !!}
{!! Form::label('rfc', 'RFC *', ['class'=>'form-control']) !!}
{!! Form::text('rfc', null, ['class'=>'form-control','required'=>'required']) !!}
</div>
<div class="form-group">
{!! Form::label('correo', 'Correo electrónico', ['class'=>'form-control']) !!}
{!! Form::label('correo', 'Correo electrónico *', ['class'=>'form-control']) !!}
{!! Form::text('correo', null, ['class'=>'form-control','required'=>'required']) !!}
</div>
<div class="form-group">
{!! Form::label('calle', 'Calle', ['class'=>'form-control']) !!}
{!! Form::text('calle', null, ['class'=>'form-control','required'=>'required']) !!}
{!! Form::text('calle', null, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('numero', 'Numero', ['class'=>'form-control']) !!}
{!! Form::text('numero', null, ['class'=>'form-control','required'=>'required']) !!}
{!! Form::text('numero', null, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('colonia', 'Colonia', ['class'=>'form-control']) !!}
{!! Form::text('colonia', null, ['class'=>'form-control','required'=>'required']) !!}
{!! Form::text('colonia', null, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('estado', 'Estado', ['class'=>'form-control']) !!}
{!! Form::text('estado', null, ['class'=>'form-control','required'=>'required']) !!}
{!! Form::text('estado', null, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('ciudad', 'Ciudad o delegación', ['class'=>'form-control']) !!}
{!! Form::text('ciudad', null, ['class'=>'form-control','required'=>'required']) !!}
{!! Form::text('ciudad', null, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('cp', 'Codigo postal', ['class'=>'form-control']) !!}
{!! Form::text('cp', null, ['class'=>'form-control','required'=>'required']) !!}
{!! Form::text('cp', null, ['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('uso_cfdi', 'Uso del CFDI', ['class'=>'form-control']) !!}
{!! Form::label('uso_cfdi', 'Uso del CFDI *', ['class'=>'form-control']) !!}
{!! Form::select('uso_cfdi', $uso_cfdi, null, ['class'=>'form-control','required'=>'required']) !!}
</div>
<div class="form-group">
{!! Form::label('forma_pago', 'Forma de pago *', ['class'=>'form-control']) !!}
{!! Form::select('forma_pago', $forma_pago, null, ['class'=>'form-control','required'=>'required']) !!}
</div>
@extends('crm-admin::main-layout')
@section('breadcrumb')
<li class="breadcrumb-item">
<a href="{{route('home')}}">Home</a>
</li>
<li class="breadcrumb-item active">
Varriables información adicional
</li>
@endsection
@section('content')
<div class='row'>
<div class='col-md-12'>
<div class='box'>
<div class='box-header dark'>
<h2>Mapeo de variables extras</h2>
<h2>Variables extras de información adicional a una compra</h2>
</div>
<div class='box-body'>
<div class='col-md-12'>
{!! Form::model($variable,['route'=> ['admin.product.variable.store'],"method"=>"POST"]) !!}
@include('product::variable.fields')
{!! Form::model($variable,['route'=> ['admin.shop.variable.store'],"method"=>"POST"]) !!}
@include('shop::variable.fields')
</div>
</div>
<div class='dker p-a text-right'>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment