Commit 934c04cf by Francisco Salazar

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

parents c0ef4387 5349220b
......@@ -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">
<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