This commit is contained in:
Kevin Adametz 2022-06-15 18:08:45 +02:00
parent 9b0b5feb7e
commit 7a040c3e19
106 changed files with 4074 additions and 1349 deletions

View file

@ -206,12 +206,6 @@ class UserInvoiceCredit extends Model
return isset($this->attributes['cancellation_date']) ? $this->attributes['cancellation_date'] : NULL;
}
public static function getYearRange()
{
$start = 2021;
$end = date("Y");
return array_reverse(range($start, $end));
}
public static function getMonthName($month)
{

View file

@ -163,6 +163,7 @@ class Product extends Model
'contents_total',
'unit',
'number',
'ean',
'wp_number',
'icons',
'description',
@ -183,8 +184,8 @@ class Product extends Model
'' => '-',
'show_upgrade' => 'Kann geupdatet werden',
'show_order' => 'Wird immer als Option angezeigt',
'upgrade' => 'Produktupgrade zur Produkt ID',
'upgrade_member' => 'Beraterupgrade zur Karriere ID',
'upgrade_product' => 'Produkt upgrade zur Produkt ID',
'upgrade_member' => 'Berater upgrade zur Karriere ID',
'proportional_voucher' => 'Anteiliger Gutschein Berater',
];
public $unitTypes = [
@ -224,6 +225,14 @@ class Product extends Model
];
public $actionNames = [
0 => 'Zahlung für Mitgliedschaft',
1 => 'Zahlung für Mitgliedschaft + Shop',
2 => 'Bei Zahlung Shop upgrade auf ID',
4 => 'Bei Zahlung Karriere upgrade auf ID',
];
public function sluggable()
{
return [
@ -249,6 +258,17 @@ class Product extends Model
return $this->hasMany('App\Models\ProductImage', 'product_id', 'id')->where('active', true)->orderBy('pos');
}
public function getImageUrl(){
if(count($this->imagesActive)){
return route('product_image', [$this->imagesActive->first()->slug]);
}
return "";
}
public function getProductUrl(){
return 'https://mivita.shop/produkte/alle-produkte/'.$this->slug;
}
public function country_prices()
{
return $this->hasMany(CountryPrice::class, 'product_id');
@ -267,13 +287,26 @@ class Product extends Model
return $this->hasMany(ProductIngredient::class, 'product_ingredients', 'id');
}
public function getActionName($id = 0){
if(isset($this->actions[$id])){
return $this->actions[$id];
}
return false;
}
public function getUpgradeToIdName($from){
if($from === 'payment_for_shop_upgrade'){
$value = Product::find($this->upgrade_to_id);
}
if($from === 'payment_for_lead_upgrade'){
$value = UserLevel::find($this->upgrade_to_id);
}
if($value){
return $value->name;
}
return "not found";
}
public function _format_number($value){
return preg_replace("/[^0-9,]/", "", $value);
}

View file

@ -85,6 +85,11 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property-read \App\Models\Homeparty|null $homeparty
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereHomepartyId($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereWpNotice($value)
* @property array|null $tax_split
* @property-read \App\Models\UserInvoice|null $user_invoice
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\UserSalesVolume[] $user_sales_volume
* @property-read int|null $user_sales_volume_count
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrder whereTaxSplit($value)
*/
class ShoppingOrder extends Model
{
@ -265,6 +270,19 @@ class ShoppingOrder extends Model
return "";
}
public function getLastShoppingPaymentTransaction(){
if($this->shopping_payments){
$shopping_payment = $this->shopping_payments->last();
if($shopping_payment){
$payt = $shopping_payment->payment_transactions->last();
if($payt){
return $payt;
}
}
}
return false;
}
public function getShippedType(){
return isset(self::$shippedTypes[$this->shipped]) ? self::$shippedTypes[$this->shipped] : "";
}

View file

@ -48,6 +48,14 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property int|null $homeparty_id
* @property-read \App\Models\Homeparty|null $homeparty
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem whereHomepartyId($value)
* @property string|null $tax
* @property string|null $price_vk_net
* @property string|null $discount
* @property int|null $points
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem whereDiscount($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem wherePoints($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem wherePriceVkNet($value)
* @method static \Illuminate\Database\Eloquent\Builder|ShoppingOrderItem whereTax($value)
*/
class ShoppingOrderItem extends Model
{

View file

@ -133,7 +133,7 @@ class UserAccount extends Model
'm_account', 'm_salutation', 'm_first_name', 'm_last_name', 'm_notes', 'company', 'salutation', 'first_name', 'last_name', 'address', 'address_2', 'zipcode', 'city', 'country_id', 'pre_phone_id', 'phone', 'pre_mobil_id', 'mobil',
'tax_number', 'tax_identification_number', 'taxable_sales', 'same_as_billing',
'shipping_salutation', 'shipping_company', 'shipping_firstname', 'shipping_lastname', 'shipping_address', 'shipping_address_2', 'shipping_zipcode', 'shipping_city', 'shipping_country_id', 'shipping_pre_phone_id', 'shipping_phone',
'birthday', 'website', 'facebook', 'facebook_fanpage', 'instagram', 'notice'
'birthday', 'website', 'facebook', 'facebook_fanpage', 'instagram', 'bank_owner', 'bank_iban', 'bank_bic', 'notice'
];
//'reverse_charge', 'reverse_charge_valid'

View file

@ -12,7 +12,7 @@ use Illuminate\Database\Eloquent\SoftDeletes;
/**
* Class UserInvoice
*
*
* @property int $id
* @property int $shopping_order_id
* @property int|null $month
@ -31,10 +31,42 @@ use Illuminate\Database\Eloquent\SoftDeletes;
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property string|null $deleted_at
*
* @property ShoppingOrder $shopping_order
*
* @package App\Models
* @property string|null $filename
* @property string|null $dir
* @property string|null $delivery_filename
* @property string|null $delivery_dir
* @property string|null $disk
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice newQuery()
* @method static \Illuminate\Database\Query\Builder|UserInvoice onlyTrashed()
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice query()
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereCancellation($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereCancellationDate($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereCancellationId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereDate($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereDeletedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereDeliveryDir($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereDeliveryFilename($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereDir($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereDisk($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereFilename($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereFullNumber($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereInfos($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereMonth($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereNumber($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice wherePaid($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice wherePaidDate($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereShoppingOrderId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserInvoice whereYear($value)
* @method static \Illuminate\Database\Query\Builder|UserInvoice withTrashed()
* @method static \Illuminate\Database\Query\Builder|UserInvoice withoutTrashed()
* @mixin \Eloquent
*/
class UserInvoice extends Model
{
@ -146,13 +178,6 @@ class UserInvoice extends Model
public function getCancellationDateRaw(){
return isset($this->attributes['cancellation_date']) ? $this->attributes['cancellation_date'] : NULL;
}
public static function getYearRange()
{
$start = 2021;
$end = date("Y");
return array_reverse(range($start, $end));
}
public static function getMonthName($month)
{

View file

@ -2,7 +2,9 @@
namespace App\Models;
use App\Services\Util;
use Illuminate\Database\Eloquent\Model;
use App\Models\UserLevel as ModelsUserLevel;
/**
* App\Models\UserLevel
@ -13,12 +15,14 @@ use Illuminate\Database\Eloquent\Model;
* @property float|null $margin
* @property int|null $pos
* @property int $active
* @property int $default
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel query()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel whereActive($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel whereDefault($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel whereMargin($value)
@ -27,6 +31,29 @@ use Illuminate\Database\Eloquent\Model;
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel whereTransName($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\UserLevel whereUpdatedAt($value)
* @mixin \Eloquent
* @property int|null $next_id
* @property int|null $margin_shop
* @property int|null $qual_kp
* @property int|null $qual_tp
* @property string|null $growth_bonus
* @property int|null $pr_line_1
* @property int|null $pr_line_2
* @property int|null $pr_line_3
* @property int|null $pr_line_4
* @property int|null $pr_line_5
* @property int|null $pr_line_6
* @property-read UserLevel|null $next_user_level
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel whereGrowthBonus($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel whereMarginShop($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel whereNextId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel wherePrLine1($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel wherePrLine2($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel wherePrLine3($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel wherePrLine4($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel wherePrLine5($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel wherePrLine6($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel whereQualKp($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevel whereQualTp($value)
*/
class UserLevel extends Model
{
@ -35,41 +62,40 @@ class UserLevel extends Model
protected $casts = ['trans_name' => 'array'];
protected $fillable = [
'name', 'margin', 'pos', 'active',
'next_id', 'name', 'margin', 'margin_shop', 'qual_kp', 'qual_tp', 'growth_bonus', 'pr_line_1', 'pr_line_2', 'pr_line_3', 'pr_line_4', 'pr_line_5', 'pr_line_6', 'pos', 'active', 'default',
];
/* public function childrens()
public function next_user_level()
{
return $this->hasMany('App\Models\Attribute', 'parent_id', 'id');
return $this->belongsTo('App\Models\UserLevel', 'next_id', 'id');
}
public function getNextUserLevels(){
//$ret = [0=>'Keinen'];
$ret = UserLevel::where('active', true)->where('id', '!=', $this->id)->orderBy('pos', 'asc')->get()->pluck('name', 'id')->toArray();
return array_add($ret, 0, '-> Keinen Karriere Level');
}
*/
public function setPosAttribute($value){
$this->attributes['pos'] = is_numeric($value) ? $value : null;
}
public function _format_number($value){
return preg_replace("/[^0-9,]/", "", $value);
public function setGrowthBonusAttribute($value)
{
$this->attributes['growth_bonus'] = $value !== null ? Util::reFormatNumber($value) : null;
}
public function setMarginAttribute( $value ) {
$value = $this->_format_number($value);
$this->attributes['margin'] = floatval(str_replace(',', '.', $value));
public function getFormattedGrowthBonus()
{
return isset($this->attributes['growth_bonus']) ? Util::formatNumber($this->attributes['growth_bonus'],1) : "";
}
public function getFormattedMargin()
{
if(!isset($this->attributes['margin'])){
return "";
}
if(\App::getLocale() === "en"){
return number_format($this->attributes['margin'], 2, '.', ',');
}
return number_format($this->attributes['margin'], 2, ',', '.');
return isset($this->attributes['margin']) ? $this->attributes['margin'] : "";
}
public function getLang($key)
{

View file

@ -9,10 +9,11 @@ namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use App\Models\ShoppingOrder;
use App\User;
/**
* Class UserSalesVolume
*
*
* @property int $id
* @property int $user_id
* @property int|null $shopping_order_id
@ -27,11 +28,34 @@ use App\Models\ShoppingOrder;
* @property int $status
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
*
* @property ShoppingOrder|null $shopping_order
* @property User $user
*
* @package App\Models
* @property int|null $user_invoice_id
* @property int|null $month_shop_points
* @property float|null $month_shop_total_net
* @property-read \App\Models\UserInvoice|null $user_invoice
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume query()
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereDate($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereMessage($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereMonth($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereMonthPoints($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereMonthShopPoints($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereMonthShopTotalNet($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereMonthTotalNet($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume wherePoints($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereShoppingOrderId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereTotalNet($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereUserInvoiceId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserSalesVolume whereYear($value)
* @mixin \Eloquent
*/
class UserSalesVolume extends Model
{