{extends file="$layouts_admin"}
{block name="content"}
<div class="container">
<div class="card">
<div class="card-body">
<h3>{{__("Add New Subscription")}}</h3>
<div class="hr-line-dashed"></div>
<form id="form_main" method="post">
<div class="mb-3">
<label for="contact_id">{$_L['Customer']}</label>
<select class="form-select" data-pristine-required data-pristine-required-message="{$_L['This field is required']}" id="contact_id" name="contact_id">
<option value="0">{$_L['None']}</option>
{foreach $contacts as $contact}
<option value="{$contact->id}"
{if !empty($subscription->contact_id) && ($contact->id == $subscription->contact_id)}
selected
{/if}
>{$contact->account}</option>
{/foreach}
</select>
</div>
<div class="mb-3">
<label for="plan_id">{__('Subscription Plan')}</label>
<select class="form-select" id="plan_id" name="plan_id">
<option value="">{__('None')}</option>
{foreach $plans as $plan}
<option value="{$plan->id}"
{if !empty($subscription->plan_id) && ($plan->id == $subscription->plan_id)}
selected
{/if}
data-price="{{formatCurrency($plan->price)}}">{$plan->title}</option>
{/foreach}
</select>
</div>
<div class="row">
<div class="col-md-4">
<div class="mb-3">
<label for="price">{__('Currency')}</label>
<select class="form-select" id="currency" name="currency">
<option value="">{__('None')}</option>
{foreach $currencies as $currency}
<option value="{$currency->iso_code}"
{if empty($subscription)}
{if $currency->iso_code == $config['home_currency']} selected {/if}
{else}
{if $currency->iso_code == $subscription->currency} selected {/if}
{/if}
>{$currency->iso_code}</option>
{/foreach}
</select>
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label for="price">{__('Price')}</label>
<input id="price" name="price" {if !empty($subscription)} value="{{formatCurrency($subscription->price)}}" {/if} class="form-control mb-3">
</div>
</div>
<div class="col-md-4">
<div class="mb-3">
<label for="quantity">{__('Quantity')}</label>
<input type="number" min="1" id="quantity" name="quantity" value="1" class="form-control mb-3">
</div>
</div>
</div>
<div class="mb-3">
<label>{{__('Type')}}</label>
<select class= "form-control" name="type" id="type">
<option value="daily" {if $subscription && $subscription->type == '+1 day'} selected{/if}>{$_L['Daily']}</option>
<option value="week1" {if $subscription && $subscription->type == '+1 week'} selected{/if}>{$_L['Weekly']}</option>
<option value="weeks2" {if $subscription && $subscription->type == '+2 weeks'} selected{/if}>{$_L['Weeks_2']}</option>
<option value="weeks3" {if $subscription && $subscription->type == '+3 weeks'} selected{/if}>{$_L['Weeks_3']}</option>
<option value="weeks4" {if $subscription && $subscription->type == '+4 weeks'} selected{/if}>{$_L['Weeks_4']}</option>
<option value="month1" {if $subscription} {if $subscription->type == '+1 month'} selected{/if} {else} selected {/if}>{$_L['Monthly']}</option>
<option value="months2" {if $subscription && $subscription->type == '+2 months'} selected{/if}>{$_L['Months_2']}</option>
<option value="months3" {if $subscription && $subscription->type == '+3 months'} selected{/if}>{$_L['Months_3']}</option>
<option value="months6" {if $subscription && $subscription->type == '+6 months'} selected{/if}>{$_L['Months_6']}</option>
<option value="year1" {if $subscription && $subscription->type == '+1 year'} selected{/if}>{$_L['Yearly']}</option>
<option value="years2" {if $subscription && $subscription->type == '+2 years'} selected{/if}>{$_L['Years_2']}</option>
<option value="years3" {if $subscription && $subscription->type == '+3 years'} selected{/if}>{$_L['Years_3']}</option>
</select
</div>
<div class="mb-3 mt-3">
<label>{{__('Status')}}</label>
<select class= "form-control" name="status" id="status">
<option value="Active" {if $subscription && $subscription->status == 'Active'} selected{/if}>
{{__('Active')}}
</option>
<option value="Inactive" {if $subscription && $subscription->status == 'Inactive'} selected{/if}>
{{__('Inactive')}}
</option>
<option value="Suspended" {if $subscription && $subscription->status == 'Suspended'} selected{/if}>{{__('Suspended')}}
</option>
<option value="Cancelled" {if $subscription && $subscription->status == 'Cancelled'} selected{/if}>{{__('Cancelled')}}
</option>
</select>
</div>
<div class="mb-3 mt-3">
<label>
{$_L['Start Date']}
</label>
<input class="form-control" name="start_date" value="{date('Y-m-d')}" id="start_date" datepicker data-date-format="yyyy-mm-dd" data-auto-close="true" data-pristine-required data-pristine-required-message="{$_L['This field is required']}">
</div>
{if !empty($subscription)}
<input type="hidden" name="id" value="{$subscription->id}">
{/if}
<button id="btn_plan" type="submit" class="btn btn-primary">{{__('Save')}}</button>
</form>
</div>
</div>
</div>
{/block}
{block name=script}
<script>
$(function () {
var form = document.getElementById("form_main");
var pristine = new Pristine(form);
let $form_main = $('#form_main');
let $start_date = $("#start_date");
$("#contact_id").select2({
language: {
noResults: function () {
return $("#_lan_no_results_found").val();
}
}
}
);
// $('[data-toggle="datepicker"]').datepicker();
$form_main.on('submit',function (event) {
event.preventDefault();
if(pristine.validate())
{
axios.post(base_url + 'subscriptions/subscription',$form_main.serialize()).then(function (response) {
window.location = base_url + 'subscriptions/list/' + response.data.id;
}).catch(function (error) {
$.each(error.response.data, function(key, value) {
toastr.error(value);
});
});
}
});
const plan_id = document.getElementById('plan_id');
const price = document.getElementById('price');
if(plan_id)
{
{if empty($subscription)}
plan_id.addEventListener('change', function() {
let plan_price = this.options[this.selectedIndex].getAttribute('data-price');
if(price)
{
price.value = plan_price;
}
});
{/if}
}
});
</script>
{/block}