Added contract_term to Order/Product/Contract
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
if($noTermProducts) {
|
||||
$urlfilter['noTermProducts'] = 1;
|
||||
}
|
||||
if(is_array($filter) && count($filter)) {
|
||||
if(isset($filter) && is_array($filter) && count($filter)) {
|
||||
$urlfilter["filter"] = $filter;
|
||||
}
|
||||
$posturl = self::getUrl("Order", "save", $urlfilter);
|
||||
@@ -589,8 +589,8 @@
|
||||
<input type="number" class="form-control" name="products[<?=$i?>][amount]" id="amount-<?=$i?>" value="<?=($product) ? $product->formatAmount() : ""?>" placeholder="Anzahl/Menge" />
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="billing_period-<?=$i?>">Verrechungsperiode</label>
|
||||
<select class="form-control" name="products[<?=$i?>][billing_period]" id="billing_period-<?=$i?>" placeholder="Verrechnungsperiode">
|
||||
<label class="form-label" for="billing_period-<?=$i?>">Rechungsperiode</label>
|
||||
<select class="form-control" name="products[<?=$i?>][billing_period]" id="billing_period-<?=$i?>" placeholder="Rechnungsperiode">
|
||||
<option value="1" <?=($product->billing_period == 1) ? "selected='selected'" : ""?>>Monatlich</option>
|
||||
<option value="12" <?=($product->billing_period == 12) ? "selected='selected'" : ""?>>Jährlich</option>
|
||||
</select>
|
||||
@@ -649,10 +649,22 @@
|
||||
|
||||
<div class="row mt-1 mb-2">
|
||||
<!-- line 2 -->
|
||||
<div class="col-8">
|
||||
<div class="col-6">
|
||||
<label class="form-label" for="description-<?=$i?>" >Zusatztext</label>
|
||||
<textarea class="form-control" name="products[<?=$i?>][description]" id="description-<?=$i?>" placeholder="Zusatztext"><?=$product->description?></textarea>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="contract_term-<?=$i?>">Mindestvertragslaufzeit</label>
|
||||
<select class="form-control" name="products[<?=$i?>][contract_term]" id="contract_term-<?=$i?>" placeholder="Mindestvertragslaufzeit">
|
||||
<option value="0" <?=($product->contract_term == 0) ? "selected='selected'" : ""?>>Keine</option>
|
||||
<option value="1" <?=($product->contract_term == 1) ? "selected='selected'" : ""?>>1 Monat</option>
|
||||
<option value="12" <?=($product->contract_term == 12) ? "selected='selected'" : ""?>>12 Monate</option>
|
||||
<option value="24" <?=($product->contract_term == 24) ? "selected='selected'" : ""?>>24 Monate</option>
|
||||
<option value="36" <?=($product->contract_term == 36) ? "selected='selected'" : ""?>>36 Monate</option>
|
||||
<option value="48" <?=($product->contract_term == 48) ? "selected='selected'" : ""?>>48 Monate</option>
|
||||
<option value="60" <?=($product->contract_term == 60) ? "selected='selected'" : ""?>>60 Monate</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="billing_delay-<?=$i?>" >Verzögerter Verrechnungsstart</label>
|
||||
<input type="number" class="form-control" name="products[<?=$i?>][billing_delay]" id="billing_delay-<?=$i?>" value="<?=$product->billing_delay?>" placeholder="Freimonate" />
|
||||
@@ -718,7 +730,7 @@
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="billing_period-<?=$i?>">Verrechungsperiode</label>
|
||||
<select class="form-control" name="products[<?=$i?>][billing_period]" id="billing_period-<?=$i?>" placeholder="Verrechnungsperiode">
|
||||
<select class="form-control" name="products[<?=$i?>][billing_period]" id="billing_period-<?=$i?>" placeholder="Rechnungsperiode">
|
||||
<option value="1">Monatlich</option>
|
||||
<option value="12">Jährlich</option>
|
||||
</select>
|
||||
@@ -757,10 +769,22 @@
|
||||
|
||||
<div class="row mt-1 mb-2">
|
||||
<!-- line 2 -->
|
||||
<div class="col-8">
|
||||
<div class="col-6">
|
||||
<label class="form-label" for="description-<?=$i?>" >Zusatztext</label>
|
||||
<textarea class="form-control" name="products[<?=$i?>][description]" id="description-<?=$i?>" placeholder="Zusatztext"></textarea>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="contract_term-<?=$i?>">Mindestvertragslaufzeit</label>
|
||||
<select class="form-control" name="products[<?=$i?>][contract_term]" id="contract_term-<?=$i?>" placeholder="Mindestvertragslaufzeit">
|
||||
<option value="0">Keine</option>
|
||||
<option value="1">1 Monat</option>
|
||||
<option value="12">12 Monate</option>
|
||||
<option value="24">24 Monate</option>
|
||||
<option value="36">36 Monate</option>
|
||||
<option value="48">48 Monate</option>
|
||||
<option value="60">60 Monate</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-2">
|
||||
<label class="form-label" for="billing_delay-<?=$i?>" >Verzögerter Verrechnungsstart</label>
|
||||
<input type="number" class="form-control" name="products[<?=$i?>][billing_delay]" id="billing_delay-<?=$i?>" value="" placeholder="Freimonate" />
|
||||
@@ -1195,12 +1219,13 @@
|
||||
form_id: id
|
||||
},
|
||||
function (success) {
|
||||
//console.log(success);
|
||||
console.log(success);
|
||||
p = success.result.product;
|
||||
id = success.result.form_id;
|
||||
|
||||
$('#billing_delay-' + id).val(p.billing_delay);
|
||||
$('#billing_period-' + id).val(p.billing_period);
|
||||
$('#contract_term-' + id).val(p.contract_term);
|
||||
$('#price-' + id).val(p.price);
|
||||
$('#price_setup-' + id).val(p.price_setup);
|
||||
$('#price_nne-' + id).val(p.price_nne);
|
||||
@@ -1576,7 +1601,7 @@
|
||||
</div> \
|
||||
<div class="col-2"> \
|
||||
<label class="form-label" for="billing_period-' + i +'">Verrechungsperiode</label> \
|
||||
<select class="form-control" name="products[' + i +'][billing_period]" id="billing_period-' + i +'" placeholder="Verrechnungsperiode"> \
|
||||
<select class="form-control" name="products[' + i +'][billing_period]" id="billing_period-' + i +'" placeholder="Rechnungsperiode"> \
|
||||
<option value="1">Monatlich</option> \
|
||||
<option value="12">Jährlich</option> \
|
||||
</select> \
|
||||
@@ -1616,10 +1641,22 @@
|
||||
\
|
||||
<div class="row mt-1 mb-2"> \
|
||||
<!-- line 2 --> \
|
||||
<div class="col-8"> \
|
||||
<div class="col-6"> \
|
||||
<label class="form-label" for="description-' + i +'" >Zusatztext</label> \
|
||||
<textarea class="form-control" name="products[' + i +'][description]" id="description-' + i +'" placeholder="Zusatztext"></textarea> \
|
||||
</div> \
|
||||
<div class="col-2"> \
|
||||
<label class="form-label" for="contract_term-' + i + '">Mindestvertragslaufzeit</label> \
|
||||
<select class="form-control" name="products[' + i + '][contract_term]" id="contract_term-<?=$i?>" placeholder="Mindestvertragslaufzeit"> \
|
||||
<option value="0">Keine</option> \
|
||||
<option value="1">1 Monat</option> \
|
||||
<option value="12">12 Monate</option> \
|
||||
<option value="24">24 Monate</option> \
|
||||
<option value="36">36 Monate</option> \
|
||||
<option value="48">48 Monate</option> \
|
||||
<option value="60">60 Monate</option> \
|
||||
</select> \
|
||||
</div> \
|
||||
<div class="col-2"> \
|
||||
<label class="form-label" for="billing_delay-' + i +'" >Verzögerter Verrechnungsstart</label> \
|
||||
<input type="number" class="form-control" name="products[' + i +'][billing_delay]" id="billing_delay-' + i + '" value="" placeholder="Freimonate" /> \
|
||||
|
||||
@@ -210,7 +210,21 @@
|
||||
<input type="text" name="billing_delay" id="billing_delay" class="form-control" value="<?=$this::dotToComma($product->billing_delay)?>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-lg-2 col-form-label" for="contract_term">Mindestvertragslaufzeit</label>
|
||||
<div class="col-lg-10">
|
||||
<select class="form-control" name="contract_term" id="contract_term">
|
||||
<option value="0" <?=($product->contract_term == 0) ? "selected='selected'" : ""?>>Keine</option>
|
||||
<option value="1" <?=($product->contract_term == 1) ? "selected='selected'" : ""?>>1 Monat</option>
|
||||
<option value="12" <?=($product->contract_term == 12) ? "selected='selected'" : ""?>>12 Monate</option>
|
||||
<option value="24" <?=($product->contract_term == 24) ? "selected='selected'" : ""?>>24 Monate</option>
|
||||
<option value="36" <?=($product->contract_term == 36) ? "selected='selected'" : ""?>>36 Monate</option>
|
||||
<option value="48" <?=($product->contract_term == 48) ? "selected='selected'" : ""?>>48 Monate</option>
|
||||
<option value="60" <?=($product->contract_term == 60) ? "selected='selected'" : ""?>>60 Monate</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -498,6 +498,10 @@ class OrderController extends mfBaseController {
|
||||
$mode = "add";
|
||||
}
|
||||
|
||||
/*
|
||||
* Contacts/Addresses and Billing data
|
||||
*/
|
||||
|
||||
// validate owner
|
||||
$owner = false;
|
||||
$owner_new = false;
|
||||
@@ -642,6 +646,7 @@ class OrderController extends mfBaseController {
|
||||
if($billingaddress_new) {
|
||||
if($r->billing_type == "sepa") {
|
||||
$billing_data['billing_type'] = "sepa";
|
||||
$billing_data['sepa_date'] = date("U");
|
||||
} else {
|
||||
$billing_data['billing_type'] = "invoice";
|
||||
}
|
||||
@@ -659,6 +664,7 @@ class OrderController extends mfBaseController {
|
||||
} elseif($owner_new) {
|
||||
if($r->billing_type == "sepa") {
|
||||
$owner_data['billing_type'] = "sepa";
|
||||
$owner_data['sepa_date'] = date("U");
|
||||
} else {
|
||||
$owner_data['billing_type'] = "invoice";
|
||||
}
|
||||
@@ -685,6 +691,20 @@ class OrderController extends mfBaseController {
|
||||
$techcontact = AddressModel::create($techcontact_data);
|
||||
}
|
||||
|
||||
// set sepa date if not yet set and sepa is active
|
||||
if($billingaddress) {
|
||||
if($billingaddress->billing_type == "sepa" && !$billingaddress->sepa_date) {
|
||||
$billingaddress->sepa_date = date("U");
|
||||
$billingaddress->save();
|
||||
}
|
||||
} else {
|
||||
if($owner->billing_type == "sepa" && !$owner->sepa_date) {
|
||||
$owner->sepa_date = date("U");
|
||||
$owner->save();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// create or save Order object
|
||||
|
||||
$order_data = [];
|
||||
@@ -703,7 +723,7 @@ class OrderController extends mfBaseController {
|
||||
$order_data['allow_spin'] = ($r->allow_spin) ? 1 : 0;
|
||||
$order_data['note'] = $r->note;
|
||||
|
||||
$order_data['order_date'] = Layout::dateToInt($r->order_date);
|
||||
$order_data['order_date'] = ($order_data['order_date']) ? Layout::dateToInt($r->order_date) : null;
|
||||
|
||||
if($r->finish_after) {
|
||||
$order_data['finish_after'] = Layout::dateToInt($r->finish_after);
|
||||
@@ -876,6 +896,7 @@ class OrderController extends mfBaseController {
|
||||
$product_data["billing_delay"] = 6;
|
||||
}
|
||||
$product_data["billing_period"] = $p["billing_period"];
|
||||
$product_data["contract_term"] = $p["contract_term"];
|
||||
|
||||
$product_data['upgrade'] = $order_data['upgrade'];
|
||||
|
||||
@@ -912,6 +933,7 @@ class OrderController extends mfBaseController {
|
||||
$product_data['voicenumber'] = null;
|
||||
}
|
||||
|
||||
$product_data['edit_by'] = $this->me->id;
|
||||
|
||||
if(!$orderproduct_id) {
|
||||
$product = OrderProductModel::create($product_data);
|
||||
|
||||
@@ -284,6 +284,20 @@ class OrderModel {
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("finish_date>", $filter)) {
|
||||
$finish_date = $filter['finish_date>'];
|
||||
if($finish_date) {
|
||||
$where .= " AND `Order`.finish_date > $finish_date";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("finish_date<", $filter)) {
|
||||
$finish_date = $filter['finish_date<'];
|
||||
if($finish_date) {
|
||||
$where .= " AND `Order`.finish_date < $finish_date";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("upgrade", $filter)) {
|
||||
if($filter['upgrade'] == 1) {
|
||||
$where .= " AND `Order`.upgrade = 1";
|
||||
|
||||
@@ -15,6 +15,7 @@ class OrderProductModel
|
||||
public $price_nbe;
|
||||
public $billing_delay;
|
||||
public $billing_period;
|
||||
public $contract_term;
|
||||
public $note;
|
||||
|
||||
public $create_by = null;
|
||||
|
||||
@@ -156,6 +156,7 @@ class ProductController extends mfBaseController {
|
||||
$data['price_setup'] = ($r->price_setup) ? Layout::commaToDot($r->price_setup) : 0;
|
||||
$data['billing_period'] = $r->billing_period;
|
||||
$data['billing_delay'] = ($r->billing_delay) ? $r->billing_delay : 0;
|
||||
$data['contract_term'] = $r->contract_term;
|
||||
$data['ivt_id'] = ($r->ivt_id) ? $r->ivt_id : null;
|
||||
$data['note'] = $r->note;
|
||||
|
||||
@@ -316,7 +317,7 @@ class ProductController extends mfBaseController {
|
||||
if(!$product->id) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(is_array($product->attributes) && count($product->attributes)) {
|
||||
$attributes = $product->attributes;
|
||||
$product->data->attributes = [];
|
||||
|
||||
@@ -1,26 +1,27 @@
|
||||
<?php
|
||||
|
||||
class ProductModel {
|
||||
public $name = null;
|
||||
public $description = null;
|
||||
public $sla_id = null;
|
||||
public $external = null;
|
||||
public $name;
|
||||
public $description;
|
||||
public $sla_id;
|
||||
public $external;
|
||||
public $external_id;
|
||||
public $productgroup_id = null;
|
||||
public $producttech_id = null;
|
||||
public $price = null;
|
||||
public $price_setup = null;
|
||||
public $price_nne = null;
|
||||
public $price_nbe = null;
|
||||
public $billing_delay = null;
|
||||
public $billing_period = null;
|
||||
public $ivt_id = null;
|
||||
public $productgroup_id;
|
||||
public $producttech_id;
|
||||
public $price;
|
||||
public $price_setup;
|
||||
public $price_nne;
|
||||
public $price_nbe;
|
||||
public $billing_delay;
|
||||
public $billing_period;
|
||||
public $contract_term;
|
||||
public $ivt_id;
|
||||
|
||||
public $note = null;
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
public $create = null;
|
||||
public $edit = null;
|
||||
public $note;
|
||||
public $create_by;
|
||||
public $edit_by;
|
||||
public $create;
|
||||
public $edit;
|
||||
|
||||
|
||||
public static function create(Array $data) {
|
||||
|
||||
Reference in New Issue
Block a user