08 2024
This commit is contained in:
parent
04d677d37a
commit
bfa3bb1df4
1191 changed files with 637397 additions and 10619 deletions
|
|
@ -7,8 +7,12 @@ use Storage;
|
|||
use App\User;
|
||||
use App\Services\Credit;
|
||||
use App\Models\UserCredit;
|
||||
use App\Services\MyPDFMerger;
|
||||
use Response;
|
||||
use App\Libraries\MyPDFMerger;
|
||||
use App\Models\UserCreditItem;
|
||||
use App\Models\UserSalesVolume;
|
||||
use App\Libraries\CreditDetailsPDF;
|
||||
use App\Services\BusinessPlan\TreeCalcBot;
|
||||
|
||||
class CreditRepository extends BaseRepository {
|
||||
|
||||
|
|
@ -87,7 +91,6 @@ class CreditRepository extends BaseRepository {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
private function makeUserCredit(){
|
||||
|
||||
$this->user_credit->net = 0;
|
||||
|
|
@ -127,4 +130,240 @@ class CreditRepository extends BaseRepository {
|
|||
return $user_credit_items;
|
||||
}
|
||||
|
||||
/*
|
||||
Erstellt einen detalierten Report zur Gutschrift
|
||||
Alle Postionen werden einzeln aufgelistet
|
||||
//$do ?= html, pdf
|
||||
*/
|
||||
public function create_report(UserCredit $user_credit, $do = 'html')
|
||||
{
|
||||
//collect all data
|
||||
$collection = new \stdClass();
|
||||
$collection->calc_bot = [];
|
||||
$collection->commission_shop = [];
|
||||
$collection->commission_payline = [];
|
||||
$collection->commission_growth_bonus = [];
|
||||
$collection->own_order = [];
|
||||
$collection->commission_registration = [];
|
||||
$collection->commission_credit = [];
|
||||
|
||||
|
||||
$dates = [];
|
||||
/* für jede Postion aus der Gutschrift nach Status */
|
||||
foreach($user_credit->user_credit_items as $user_credit_item){
|
||||
|
||||
$date = $user_credit_item->from_month.'-'.$user_credit_item->from_year;
|
||||
if(!isset($dates[$date])){
|
||||
$dates[$date] = ['year' => $user_credit_item->from_year, 'month' => $user_credit_item->from_month];
|
||||
}
|
||||
|
||||
/*
|
||||
//calc bot for the month year
|
||||
*/
|
||||
if(!isset($collection->calc_bot[$date])){
|
||||
$TreeCalcBot = new TreeCalcBot($user_credit_item->from_month, $user_credit_item->from_year, 'admin');
|
||||
$TreeCalcBot->initBusinesslUserDetail($user_credit->user);
|
||||
$TreeCalcBot->initStructureUser($user_credit->user->id);
|
||||
|
||||
$collection->calc_bot[$date] = $TreeCalcBot;
|
||||
}
|
||||
|
||||
/*
|
||||
status === 1 commission_shop
|
||||
Auswertung der Shopbestellungen vom User für einen Monat / Jahr
|
||||
Auslistung der Positonen / Gesamter Umsatz / Marge / Provision
|
||||
*/
|
||||
if($user_credit_item->status === 1){
|
||||
$user_sales_volumes = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $user_credit_item->from_month)
|
||||
->where('year', $user_credit_item->from_year)
|
||||
->where('status', 2) //'shoporder', //hinzugefügt aus
|
||||
->orderBy('id', 'ASC')->get();
|
||||
|
||||
$user_sales_volumes_total = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $user_credit_item->from_month)
|
||||
->where('year', $user_credit_item->from_year)
|
||||
->where('status', 2) //'shoporder', //hinzugefügt aus
|
||||
->orderBy('id', 'DESC')->first();
|
||||
|
||||
|
||||
|
||||
$obj = new \stdClass();
|
||||
$obj->user_sales_volumes = $user_sales_volumes;
|
||||
$obj->user_sales_volumes_total = $user_sales_volumes_total;
|
||||
$obj->user_credit_item = $user_credit_item;
|
||||
$collection->commission_shop[$date] = $obj;
|
||||
|
||||
/*
|
||||
UserSalesVolume::status
|
||||
4 => 'credit', //hinzugefügt aus //VE == status_turnover 2 shop verrechnung
|
||||
Listen der hinzufegügten Gutschriften vom User für einen Monat / Jahr
|
||||
*/
|
||||
$user_sales_volumes_credit = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $user_credit_item->from_month)
|
||||
->where('year', $user_credit_item->from_year)
|
||||
->where('status', 4) //'credit', //hinzugefügt aus
|
||||
->where('status_turnover', 2) //VE shop
|
||||
->orderBy('id', 'ASC')->get();
|
||||
|
||||
$collection->commission_credit[$date] = $user_sales_volumes_credit;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
status === 2 commission_payline
|
||||
Auswertung der Payline nach der Struktur vom User für einen Monat / Jahr
|
||||
Auslistung aller Berater mit Gesamter Umsatz / Provision / rang
|
||||
*/
|
||||
|
||||
/*
|
||||
status === 5 commission_growth_bonus
|
||||
Auswertung der Payline nach der Struktur vom User für einen Monat / Jahr
|
||||
Auslistung aller Berater mit Gesamter Umsatz / Provision / rang
|
||||
*/
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
nicht enhalten in der Gutschrift
|
||||
für alle Monate / Jahr die in der Gutschrift enthalten sind
|
||||
*/
|
||||
foreach($dates as $date => $dateObj){
|
||||
/*
|
||||
UserSalesVolume::status
|
||||
1 => 'advisor_order', own_order //hinzugefügt aus
|
||||
Listen der Beraterbestellungen vom User für einen Monat / Jahr
|
||||
*/
|
||||
$user_sales_volumes = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $dateObj['month'])
|
||||
->where('year', $dateObj['year'])
|
||||
->where('status', 1) //'own_order', //hinzugefügt aus
|
||||
->orderBy('id', 'ASC')->get();
|
||||
|
||||
$credit_total_net = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $dateObj['month'])
|
||||
->where('year', $dateObj['year'])
|
||||
->where('status', 1) //'own_order', //hinzugefügt aus
|
||||
->sum('total_net'); //sum('total_net');
|
||||
|
||||
$credit_total_points = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $dateObj['month'])
|
||||
->where('year', $dateObj['year'])
|
||||
->where('status', 1) //'own_order', //hinzugefügt aus
|
||||
->sum('points'); //sum('points');
|
||||
|
||||
if($user_sales_volumes->count() > 0){
|
||||
$obj = new \stdClass();
|
||||
$obj->user_sales_volumes = $user_sales_volumes;
|
||||
$obj->credit_total_net = $credit_total_net;
|
||||
$obj->credit_total_points = $credit_total_points;
|
||||
$collection->own_order[$date] = $obj;
|
||||
}
|
||||
/*
|
||||
UserSalesVolume::status
|
||||
5 => 'registration', //hinzugefügt aus
|
||||
Listen der Gutschriften aus Reg vom User für einen Monat / Jahr
|
||||
Enthält nur Punkte wird separat aufgeführt
|
||||
turnover = immer E / 1 verrechnung mit Eigenem Umsatz
|
||||
*/
|
||||
|
||||
$user_sales_volumes = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $dateObj['month'])
|
||||
->where('year', $dateObj['year'])
|
||||
->where('status', 5) //'registration', //hinzugefügt aus
|
||||
->orderBy('id', 'ASC')->get();
|
||||
|
||||
$credit_total_net = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $dateObj['month'])
|
||||
->where('year', $dateObj['year'])
|
||||
->where('status', 5) //'registration', //hinzugefügt aus
|
||||
->sum('total_net'); //sum('total_net');
|
||||
|
||||
$credit_total_points = UserSalesVolume::where('user_id', $user_credit_item->user_id)
|
||||
->where('month', $dateObj['month'])
|
||||
->where('year', $dateObj['year'])
|
||||
->where('status', 5) //'registration', //hinzugefügt aus
|
||||
->sum('points'); //sum('points');
|
||||
|
||||
if($user_sales_volumes->count() > 0){
|
||||
$obj = new \stdClass();
|
||||
$obj->user_sales_volumes = $user_sales_volumes;
|
||||
$obj->credit_total_net = $credit_total_net;
|
||||
$obj->credit_total_points = $credit_total_points;
|
||||
$collection->commission_registration[$date] = $obj;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
//need this?
|
||||
$user_credit_item->status = 3; //credit_added
|
||||
$user_credit_item->status = 4; //commission
|
||||
*/
|
||||
|
||||
$data = [
|
||||
'dates' => $dates,
|
||||
'user_credit' => $user_credit,
|
||||
'collection' => $collection,
|
||||
];
|
||||
if($do === 'html'){
|
||||
return view('admin.payment.credit_detail', $data);
|
||||
}
|
||||
|
||||
if($do === 'pdf'){
|
||||
|
||||
|
||||
$dir = Credit::getCreditDetailStorageDir($user_credit->date);
|
||||
if(!Storage::disk('public')->exists( $dir )){
|
||||
Storage::disk('public')->makeDirectory($dir); //creates directory
|
||||
}
|
||||
$path = Storage::disk('public')->getAdapter()->getPathPrefix();
|
||||
$filename = Credit::makeCreditDetailFilename($user_credit->full_number);
|
||||
|
||||
$pdf = new CreditDetailsPDF('pdf.credit_details');
|
||||
//return $pdf->create($data, 'credit_details.pdf', 'stream');
|
||||
|
||||
$pdf->create($data, $filename, 'save', $path.$dir);
|
||||
|
||||
|
||||
/*$pdf = PDF::loadView('pdf.credit', $data);
|
||||
$pdf->setPaper('A4', 'portrait');
|
||||
$pdf->save($path.$dir.$filename);*/
|
||||
|
||||
$pdfMerger = new MyPDFMerger();
|
||||
$pdfMerger->addPDF($path.$dir.$filename);
|
||||
$file = $pdfMerger->myMerge('string', $filename, 'template_report_de');
|
||||
Storage::disk('public')->put($dir.$filename, $file);
|
||||
$path = $dir.$filename;
|
||||
//$file = Storage::disk('public')->get($path);
|
||||
$mime = Storage::disk('public')->mimeType($path);
|
||||
|
||||
return Response::make($file, 200)
|
||||
->header("Content-Type", $mime)
|
||||
->header('Content-disposition','inline; filename="'.$filename.'"');
|
||||
|
||||
|
||||
//return $dir.$filename;
|
||||
/*
|
||||
$dir = Credit::getCreditStorageDir($credit_date);
|
||||
if(!Storage::disk('public')->exists( $dir )){
|
||||
Storage::disk('public')->makeDirectory($dir); //creates directory
|
||||
}
|
||||
$path = Storage::disk('public')->getAdapter()->getPathPrefix();
|
||||
|
||||
$filename = Credit::makeCreditFilename($credit_number);
|
||||
|
||||
$pdf->save($path.$dir.$filename);
|
||||
|
||||
$pdfMerger = new MyPDFMerger();
|
||||
$pdfMerger->addPDF($path.$dir.$filename);
|
||||
$file = $pdfMerger->myMerge('string', $filename, 'template_invoice_de');
|
||||
Storage::disk('public')->put($dir.$filename, $file);
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
151
app/Repositories/DC/FileRepository.php
Normal file
151
app/Repositories/DC/FileRepository.php
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
<?php
|
||||
|
||||
namespace App\Repositories\DC;
|
||||
|
||||
use Imagick;
|
||||
use Request;
|
||||
use App\Models\DcFile;
|
||||
use App\Services\Util;
|
||||
use App\Models\DcFileTag;
|
||||
use App\Repositories\BaseRepository;
|
||||
use Intervention\Image\Facades\Image;
|
||||
|
||||
|
||||
class FileRepository extends BaseRepository {
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
public function uploadFile( $form_data )
|
||||
{
|
||||
$file = $form_data['file'];
|
||||
$originalName = $file->getClientOriginalName();
|
||||
$extension = $file->getClientOriginalExtension();
|
||||
$mine = $file->getClientMimeType();
|
||||
$size = $file->getSize();
|
||||
|
||||
$originalNameWithoutExt = substr($originalName, 0, strlen($originalName) - strlen($extension) - 1);
|
||||
$filename = Util::sanitize($originalNameWithoutExt, true, false, true);
|
||||
$allowed_filename = uniqid() . '_' . $filename.".".$extension;
|
||||
$file->storeAs('dc/files', $allowed_filename, 'public');
|
||||
// $store = $file->store('files/');
|
||||
|
||||
$dc_file = DcFile::create([
|
||||
'filename' => $allowed_filename,
|
||||
'original_name' => $originalName,
|
||||
'ext' => $extension,
|
||||
'mine' => $mine,
|
||||
'size' => $size
|
||||
]);
|
||||
$this->makeThumbFromFile($dc_file);
|
||||
return $dc_file;
|
||||
}
|
||||
|
||||
public function makeThumb($id){
|
||||
$file = DcFile::findOrFail($id);
|
||||
$this->makeThumbFromFile($file);
|
||||
}
|
||||
|
||||
public function makeThumbFromFile($file)
|
||||
{
|
||||
$path = $file->getFile(true);
|
||||
$filename = $file->filename;
|
||||
$mine = \File::mimeType($path);
|
||||
//make thumb
|
||||
$allowedMimeTypes = ['image/jpeg','image/gif','image/png'];
|
||||
if (in_array($mine, $allowedMimeTypes)) {
|
||||
$img = Image::make($path);
|
||||
$img->resize(542, 360, function ($c) {
|
||||
$c->aspectRatio();
|
||||
$c->upsize();
|
||||
});
|
||||
\Storage::disk('public')->put('dc/thumb/'.basename($filename), (string) $img->encode());
|
||||
|
||||
$img = Image::make($path);
|
||||
$img->resize(1600, 900, function ($c) {
|
||||
$c->aspectRatio();
|
||||
$c->upsize();
|
||||
});
|
||||
\Storage::disk('public')->put('dc/big/'.basename($filename), (string) $img->encode());
|
||||
}
|
||||
|
||||
$allowedMimeTypes = ['application/pdf'];
|
||||
if (in_array($mine, $allowedMimeTypes)) {
|
||||
$imagick = new \Imagick ($path.'[0]'); // 0 specifies the first page of the pdf
|
||||
$imagick->setImageBackgroundColor('#ffffff');
|
||||
$imagick = $imagick->mergeImageLayers( Imagick::LAYERMETHOD_FLATTEN );
|
||||
$imagick->setImageFormat('jpg'); // set the format of the output image
|
||||
$imagick->setImageCompression(\Imagick::COMPRESSION_JPEG);
|
||||
$imagick->setImageCompressionQuality(60);
|
||||
|
||||
$imagick->resizeImage(1600, 900, \Imagick::FILTER_LANCZOS, 1,1);
|
||||
$filestore = \Storage::disk('public')->path('dc/big/').basename($filename).".jpg";
|
||||
$imagick->writeImage($filestore);
|
||||
|
||||
$imagick->resizeImage(542, 360, \Imagick::FILTER_LANCZOS, 1,1);
|
||||
$filestore = \Storage::disk('public')->path('dc/thumb/').basename($filename).".jpg";
|
||||
$imagick->writeImage($filestore);
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function tagsUpdate($id, $tags){
|
||||
$file = DcFile::findOrFail($id);
|
||||
$file_tags = DcFileTag::where('file_id', $file->id)->get();
|
||||
|
||||
//remove Tags
|
||||
foreach ($file_tags as $file_tag) {
|
||||
if(is_array($tags) && ($pos = array_search($file_tag->tag_id, $tags)) !== FALSE){
|
||||
unset($tags[$pos]);
|
||||
}else{
|
||||
$file_tag->delete();
|
||||
}
|
||||
}
|
||||
//set taTagsgs
|
||||
if(is_array($tags)){
|
||||
foreach ($tags as $key => $tag_id) {
|
||||
DcFileTag::create([
|
||||
'file_id' => $file->id,
|
||||
'tag_id' => $tag_id
|
||||
]);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function deleteThumb($id){
|
||||
$file = DcFile::findOrFail($id);
|
||||
$path_thumb = $file->getThumb(true);
|
||||
if (file_exists($path_thumb)) {
|
||||
unlink($path_thumb);
|
||||
}
|
||||
$path_big = $file->getBig(true);
|
||||
if (file_exists($path_big)) {
|
||||
unlink($path_big);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function deleteFile($id){
|
||||
$file = DcFile::findOrFail($id);
|
||||
$path_thumb = $file->getThumb(true);
|
||||
if (file_exists($path_thumb)) {
|
||||
unlink($path_thumb);
|
||||
}
|
||||
$path_big = $file->getBig(true);
|
||||
if (file_exists($path_big)) {
|
||||
unlink($path_big);
|
||||
}
|
||||
$path = $file->getFile(true);
|
||||
if (file_exists($path)) {
|
||||
unlink($path);
|
||||
}
|
||||
$file->delete();
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
141
app/Repositories/DC/TagRepository.php
Normal file
141
app/Repositories/DC/TagRepository.php
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
<?php
|
||||
|
||||
namespace App\Repositories\DC;
|
||||
|
||||
use Request;
|
||||
use App\Models\DcTag;
|
||||
use App\Models\DcCategory;
|
||||
use App\Repositories\BaseRepository;
|
||||
|
||||
|
||||
class TagRepository extends BaseRepository {
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
public function storeItem($obj, $data)
|
||||
{
|
||||
if($obj === 'category' && isset($data['dc_category_name'])){
|
||||
$category = new DcCategory;
|
||||
$category->name = $data['dc_category_name'];
|
||||
$category->pos = 0 ;
|
||||
$category->save();
|
||||
\Session()->flash('alert-success', 'Kategorie erstellt');
|
||||
return redirect(route('admin_downloadcenter_tags'));
|
||||
}
|
||||
|
||||
if($obj === 'tag' && isset($data['dc_tag_name'])){
|
||||
$data = Request::all();
|
||||
$tag = new DcTag;
|
||||
$tag->name = $data['dc_tag_name'];
|
||||
$tag->pos = 0;
|
||||
$tag->save();
|
||||
\Session()->flash('alert-success', 'Tag erstellt');
|
||||
return redirect(route('admin_downloadcenter_tags'));
|
||||
}
|
||||
if($obj === 'structure' && isset($data['nestable'])){
|
||||
$bool = $this->updateStructure($data);
|
||||
if(Request::ajax()){
|
||||
return response()->json([
|
||||
'success' => $bool,
|
||||
'redirect' => route('admin_downloadcenter_tags', ['flash' => true])
|
||||
]);
|
||||
}
|
||||
}
|
||||
if($obj === 'update_ajax' && isset($data['action'])){
|
||||
|
||||
$active = $this->updateAjax($data);
|
||||
if(Request::ajax()){
|
||||
return response()->json([
|
||||
'success' => $data['action'],
|
||||
'active' => $active,
|
||||
]);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function updateAjax($data){
|
||||
|
||||
if($data['action'] == 'update-tag-active' && isset($data['id'])){
|
||||
$tag = DcTag::findOrFail($data['id']);
|
||||
$tag->active = $tag->active ? 0 : 1;
|
||||
$tag->save();
|
||||
return $tag->active;
|
||||
|
||||
}
|
||||
if($data['action'] == 'update-category-active' && isset($data['id'])){
|
||||
$category = DcCategory::findOrFail($data['id']);
|
||||
$category->active = $category->active ? 0 : 1;
|
||||
$category->save();
|
||||
return $category->active;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function updateStructure($data)
|
||||
{
|
||||
if(empty($data['nestable']) || !is_array($data['nestable'])){
|
||||
return false;
|
||||
}
|
||||
$tags = DcTag::all();
|
||||
foreach ($tags as $value) {
|
||||
$value->category_id = null;
|
||||
$value->pos = NULL;
|
||||
$value->save();
|
||||
}
|
||||
$this->saveStructureLevel($data['nestable']);
|
||||
return true;
|
||||
}
|
||||
|
||||
protected function saveStructureLevel($nestable, $deep = 0, $category_id = false){
|
||||
|
||||
foreach ($nestable as $key => $value) {
|
||||
if($value['id'] == 0){
|
||||
continue;
|
||||
}
|
||||
if($deep == 0){
|
||||
$cat = DcCategory::findOrFail($value['id']);
|
||||
$cat->pos = $key;
|
||||
$cat->save();
|
||||
}
|
||||
|
||||
if($deep == 1){
|
||||
$tag = DcTag::findOrFail($value['id']);
|
||||
$tag->category_id = $category_id;
|
||||
$tag->pos = $key;
|
||||
$tag->save();
|
||||
|
||||
}
|
||||
if(!empty($value['children'])){
|
||||
$this->saveStructureLevel($value['children'], $deep+1, $value['id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteItem($obj, $id){
|
||||
if($obj == 'category'){
|
||||
$this->deleteCategory($id);
|
||||
}
|
||||
if($obj == 'tag'){
|
||||
$this->deleteTag($id);
|
||||
}
|
||||
}
|
||||
|
||||
public function deleteCategory($id){
|
||||
$cat = DcCategory::findOrFail($id);
|
||||
$tags = DcTag::where('category_id', $cat->id)->get();
|
||||
foreach ($tags as $tag) {
|
||||
$this->deleteTag($tag->id);
|
||||
}
|
||||
$cat->delete();
|
||||
}
|
||||
|
||||
public function deleteTag($id){
|
||||
$tag = DcTag::findOrFail($id);
|
||||
$tag->delete();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -84,7 +84,7 @@ class FileRepository extends BaseRepository {
|
|||
'error' => false,
|
||||
'filename' => $allowed_filename,
|
||||
'filedata' => 'pdf',
|
||||
'redirect' => route('wizard_register'),
|
||||
'redirect' => $form_data['redirect'],
|
||||
'code' => 200
|
||||
], 200);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,8 +59,6 @@ class ImportRepository extends BaseRepository {
|
|||
return false;
|
||||
}
|
||||
return $this->import(storage_path("app/import/").$file, $file, $skip, $limit);
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected function import($file_path, $file, $skip, $limit){
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ use App\Services\Invoice;
|
|||
use App\Models\UserInvoice;
|
||||
use App\Libraries\InvoicePDF;
|
||||
use App\Models\ShoppingOrder;
|
||||
use App\Services\MyPDFMerger;
|
||||
use App\Libraries\MyPDFMerger;
|
||||
use App\Services\UserService;
|
||||
use App\Models\UserSalesVolume;
|
||||
use App\Services\BusinessPlan\SalesPointsVolume;
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ class ShopApiRepository extends BaseRepository {
|
|||
'payment' => 2, //Berater Shop
|
||||
'subdomain' => url('/'),
|
||||
'country_id' => Yard::instance('shopping')->getShippingCountryId(),
|
||||
'language' => \App::getLocale(),
|
||||
'shopping_data' => $data,
|
||||
'back' => route('user_shop_api_orders'),
|
||||
|
||||
|
|
|
|||
|
|
@ -2,14 +2,15 @@
|
|||
|
||||
namespace App\Repositories;
|
||||
|
||||
use Util;
|
||||
use Request;
|
||||
use App\User;
|
||||
use Validator;
|
||||
use App\Services\UserUtil;
|
||||
use App\Models\UserAccount;
|
||||
use App\Models\PaymentMethod;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use App\Http\Controllers\Api\KasController;
|
||||
use Util;
|
||||
use Validator;
|
||||
use Request;
|
||||
|
||||
class UserRepository extends BaseRepository {
|
||||
|
||||
|
|
@ -77,80 +78,56 @@ class UserRepository extends BaseRepository {
|
|||
|
||||
public function deleteUser(User $user)
|
||||
{
|
||||
if($user->account){
|
||||
$user->account->delete();
|
||||
$active_sponsor = UserUtil::findNextActiveSponsor($user->id);
|
||||
if($active_sponsor){
|
||||
UserUtil::setNewSponsorToChilds($user->id, $active_sponsor->id);
|
||||
UserUtil::setShoppingUserToNewMember($user->id, $active_sponsor->id);
|
||||
}
|
||||
if($user->shop){
|
||||
$subdomain_name = $user->shop->slug.'.mivita.care';
|
||||
$user->shop->name = "delete".$user->shop->id;
|
||||
$user->shop->slug = "delete".$user->shop->id;
|
||||
$user->shop->save();
|
||||
$user->shop->delete();
|
||||
//isset KAS - delete Subdomain
|
||||
if(!Util::isTestSystem()){
|
||||
$kas = new KasController();
|
||||
$pra = array(
|
||||
'subdomain_name' => $subdomain_name,
|
||||
);
|
||||
$kas->action('delete_subdomain', $pra);
|
||||
}
|
||||
|
||||
}
|
||||
$user->email = "delete".time();
|
||||
$user->password = "delete".time();
|
||||
$user->confirmed = 0;
|
||||
$user->confirmation_code = "delete".time();
|
||||
$user->confirmation_date = null;
|
||||
$user->confirmation_code_to = null;
|
||||
$user->confirmation_code_remider = 2;
|
||||
$user->agreement = null;
|
||||
$user->active = 0;
|
||||
$user->remember_token = '';
|
||||
$user->active_date = null;
|
||||
$user->admin = 0;
|
||||
$user->deleted_at = now();
|
||||
$user->save();
|
||||
|
||||
return true;
|
||||
UserUtil::deleteUser($user);
|
||||
}
|
||||
|
||||
public function reverse_charge_validate($data, $user){
|
||||
if(isset($data['reverse_charge_validate'])){
|
||||
public function reverse_charge_validate($data, $user, $route){
|
||||
|
||||
if(isset($data['action']) && $data['action'] == 'reverse_charge_validate'){
|
||||
$rules = array(
|
||||
'tax_identification_number' => 'required',
|
||||
'reverse_charge' => 'required',
|
||||
);
|
||||
$validator = Validator::make($data, $rules);
|
||||
if ($validator->fails()) {
|
||||
$data = [
|
||||
'user' => $user,
|
||||
];
|
||||
return view('user.edit', $data)->withErrors($validator);
|
||||
return redirect($route.'#user-vat-validation')->withErrors($validator)->withInput($data);
|
||||
}
|
||||
$ret = $this->reverse_charge_activate($data, $user);
|
||||
if($ret === 'error'){
|
||||
$validator = Validator::make($data, []);
|
||||
$validator->errors()->add('tax_identification_number', __('Die UST-ID konnte nicht validiert werden, Eingabe bitte prüfen.'));
|
||||
$validator->errors()->add('tax_identification_number_validated', __('msg.VATID_could_not_be_validated'));
|
||||
$data['reverse_charge'] = 0;
|
||||
return redirect(route('user_edit'))->withErrors($validator)->withInput($data);
|
||||
$data = [
|
||||
'user' => $user,
|
||||
];
|
||||
return redirect($route.'#user-vat-validation')->withErrors($validator)->withInput($data);
|
||||
}
|
||||
if($ret === 'valid'){
|
||||
\Session()->flash('alert-success', 'UST-ID erfolgreich eingetragen.');
|
||||
return redirect('/user/edit');
|
||||
\Session()->flash('alert-success', __('msg.VATID_successfully_entered'));
|
||||
return redirect($route.'#user-vat-validation')->withInput($data);
|
||||
|
||||
return redirect($route.'#user-vat-validation')->withInput($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function reverse_charge_delete($data, $user){
|
||||
if(isset($data['reverse_charge_delete'])){
|
||||
public function reverse_charge_delete($data, $user, $route){
|
||||
if(isset($data['action']) && $data['action'] == 'reverse_charge_delete'){
|
||||
$user->account->tax_identification_number = '';
|
||||
$user->account->reverse_charge = 0;
|
||||
$user->account->reverse_charge_code = null;
|
||||
$user->account->reverse_charge_valid = null;
|
||||
$user->account->save();
|
||||
\Session()->flash('alert-success', 'Reverse Charge Verfahren und UST-ID gelöscht.');
|
||||
return redirect('/user/edit');
|
||||
$data['tax_identification_number'] = '';
|
||||
\Session()->flash('alert-success', __('msg.reverse_charge_procedure_and_VATID_deleted'));
|
||||
return redirect($route.'#user-vat-validation')->withInput($data);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -221,7 +198,5 @@ class UserRepository extends BaseRepository {
|
|||
} else {
|
||||
return 'error';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue