Finalised Charging V.A.T

1) Added Javascript partial so display and hide of the Charge Tax functionality can be shared.
2) Moved @yield head for the the master without menus layout to the correct place. Using jQuery functionality @head anywhere wouldn't work as the library was included afterwards.
3) Moved the question for organisers about Tax and the labels for tax fields to the language file.
This commit is contained in:
Jeremy Quinton 2018-07-11 19:51:11 +02:00
parent 9b5d61ffdd
commit 1c7c8be8f7
8 changed files with 54 additions and 37 deletions

View File

@ -41,10 +41,10 @@ class OrganiserController extends MyBaseController
$organiser = Organiser::createNew(false, false, true);
$chargeTax = $request->get('charge_tax');
if ($chargeTax == 'Yes') {
if ($chargeTax == 1) {
$organiser->addExtraValidationRules();
}
if (!$organiser->validate($request->all())) {
return response()->json([
'status' => 'error',
@ -62,7 +62,7 @@ class OrganiserController extends MyBaseController
$organiser->tax_name = $request->get('tax_name');
$organiser->tax_value = round($request->get('tax_value'),2);
$organiser->tax_id = $request->get('tax_id');
$organiser->charge_tax = ($chargeTax == 'Yes') ? 1 : 0;
$organiser->charge_tax = ($chargeTax == 1) ? 1 : 0;
if ($request->hasFile('organiser_logo')) {
$organiser->setLogo($request->file('organiser_logo'));

View File

@ -36,6 +36,11 @@ class OrganiserCustomizeController extends MyBaseController
{
$organiser = Organiser::scope()->find($organiser_id);
$chargeTax = $request->get('charge_tax');
if ($chargeTax == 1) {
$organiser->addExtraValidationRules();
}
if (!$organiser->validate($request->all())) {
return response()->json([
'status' => 'error',
@ -50,6 +55,7 @@ class OrganiserCustomizeController extends MyBaseController
$organiser->enable_organiser_page = $request->get('enable_organiser_page');
$organiser->facebook = $request->get('facebook');
$organiser->twitter = $request->get('twitter');
$organiser->tax_name = $request->get('tax_name');
$organiser->tax_value = $request->get('tax_value');
$organiser->tax_id = $request->get('tax_id');

View File

@ -58,6 +58,12 @@ return array (
'organiser_twitter_placeholder' => 'E.g http://www.twitter.com/MyTwitterPage',
'organiser_username_facebook_placeholder' => 'MyFacebookPage',
'organiser_username_twitter_placeholder' => 'MyTwitterPage',
'organiser_tax_prompt' => 'Do you want to charge tax as your events?',
'organiser_tax_id' => 'Tax ID',
'organiser_tax_name' => 'Tax Name',
'organiser_tax_value' => 'Tax Value',
'yes' => 'Yes',
'no' => 'No',
'sales_volume' => 'Sales Volume',
'select_an_organiser' => 'Select An Organiser',
'select_organiser' => 'Select Organiser',

View File

@ -47,6 +47,7 @@ return array (
'total' => 'total',
'whoops' => 'Whoops!',
'yes' => 'Yes',
'no' => 'No',
/*
* Lines below will turn obsolete in localization helper, it is declared in app/Helpers/macros.
* If you run it, it will break file input fields.

View File

@ -12,6 +12,10 @@
text-shadow: none !important;;
}
</style>
<script>
@include('ManageOrganiser.Partials.OrganiserCreateAndEditJS')
</script>
@stop
@section('content')
@ -62,31 +66,31 @@
)) !!}
</div>
<div class="form-group">
<p>Do you want to Charge Tax at your Events?</p>
<p class="control-label">{!! trans("Organiser.organiser_tax_prompt") !!}</p>
{!! Form::label('Yes', 'Yes', array('class'=>'control-label', 'id' => 'charge_yes')) !!}
{{ Form::radio('charge_tax', 'Yes' , false) }}
{{ Form::radio('charge_tax', '1' , false) }}
{!! Form::label('No', 'No', array('class'=>'control-label','id' => 'charge_no')) !!}
{{ Form::radio('charge_tax', 'No' , true) }}
{{ Form::radio('charge_tax', '0' , true) }}
</div>
<div id="tax_fields" class="row">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('tax_id', 'Tax ID', array('class'=>'control-label required')) !!}
{!! Form::label('tax_id', trans("Organiser.organiser_tax_id"), array('class'=>'control-label required')) !!}
{!! Form::text('tax_id', Input::old('tax_id'), array('class'=>'form-control', 'placeholder'=>'Tax ID')) !!}
</div>
</div>
<div class="col-md-3">
<div class="form-group">
{!! Form::label('tax_name', 'Tax name', array('class'=>'control-label required')) !!}
{!! Form::label('tax_name', trans("Organiser.organiser_tax_name"), array('class'=>'control-label required')) !!}
{!! Form::text('tax_name', Input::old('tax_name'), array('class'=>'form-control', 'placeholder'=>'Tax name')) !!}
</div>
</div>
<div class="col-md-3">
<div class="form-group">
{!! Form::label('tax_value', 'Tax value', array('class'=>'control-label required')) !!}
{!! Form::label('tax_value', trans("Organiser.organiser_tax_value"), array('class'=>'control-label required')) !!}
{!! Form::text('tax_value', Input::old('tax_value'), array('class'=>'form-control', 'placeholder'=>'Tax Value')) !!}
</div>
</div>

View File

@ -31,24 +31,7 @@
});
$(document).ready(function(){
var charge_tax = $("input[type=radio][name='charge_tax']:checked").val();
if (charge_tax == 1) {
$('#tax_fields').show();
} else {
$('#tax_fields').hide();
}
$('input[type=radio][name=charge_tax]').change(function() {
if (this.value == 1) {
$('#tax_fields').show();
}
else {
$('#tax_fields').hide();
}
});
});
@include('ManageOrganiser.Partials.OrganiserCreateAndEditJS')
</script>
@stop
@ -115,31 +98,31 @@
<div class="row">
<div class="col-md-12">
<div class="form-group">
<p>Do you want to Charge Tax at your Events?</p>
<label for="Yes" class="control-label" id="charge_yes">Yes</label>
<input name="charge_tax" type="radio" value="1" {{ $organiser->charge_tax == 1 ? 'checked' : '' }}>
<label for="No" class="control-label" id="charge_no">No</label>
<input name="charge_tax" type="radio" value="0" {{ $organiser->charge_tax == 0 ? 'checked' : '' }}>
<p class="control-label">{!! trans("Organiser.organiser_tax_prompt") !!}</p>
<label for="Yes" class="control-label" id="charge_yes">{!! trans("Organiser.yes") !!}</label>
<input id="charge_yes" name="charge_tax" type="radio" value="1" {{ $organiser->charge_tax == 1 ? 'checked' : '' }}>
<label for="No" class="control-label" id="charge_no">{!! trans("Organiser.no") !!}</label>
<input id="charge_yes" name="charge_tax" type="radio" value="0" {{ $organiser->charge_tax == 0 ? 'checked' : '' }}>
</div>
</div>
<div id="tax_fields">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('tax_id', 'Tax ID', array('class'=>'control-label required')) !!}
{!! Form::label('tax_id', trans("Organiser.organiser_tax_id"), array('class'=>'control-label required')) !!}
{!! Form::text('tax_id', Input::old('tax_id'), array('class'=>'form-control', 'placeholder'=>'Tax ID')) !!}
</div>
</div>
<div class="col-md-3">
<div class="form-group">
{!! Form::label('tax_name', 'Tax name', array('class'=>'control-label required')) !!}
{!! Form::label('tax_name', trans("Organiser.organiser_tax_name"), array('class'=>'control-label required')) !!}
{!! Form::text('tax_name', Input::old('tax_name'), array('class'=>'form-control', 'placeholder'=>'Tax name')) !!}
</div>
</div>
<div class="col-md-3">
<div class="form-group">
{!! Form::label('tax_value', 'Tax value', array('class'=>'control-label required')) !!}
{!! Form::label('tax_value', trans("Organiser.organiser_tax_value"), array('class'=>'control-label required')) !!}
{!! Form::text('tax_value', Input::old('tax_value'), array('class'=>'form-control', 'placeholder'=>'Tax Value')) !!}
</div>
</div>

View File

@ -0,0 +1,17 @@
$(document).ready(function(){
var charge_tax = $("input[type=radio][name='charge_tax']:checked").val();
if (charge_tax == 1) {
$('#tax_fields').show();
} else {
$('#tax_fields').hide();
}
$('input[type=radio][name=charge_tax]').change(function() {
if (this.value == 1) {
$('#tax_fields').show();
}
else {
$('#tax_fields').hide();
}
});
});

View File

@ -7,8 +7,6 @@
@include('Shared.Partials.GlobalMeta')
@yield('head')
<!--JS-->
{!! HTML::script('vendor/jquery/dist/jquery.min.js') !!}
<!--/JS-->
@ -17,6 +15,8 @@
{!!HTML::style('assets/stylesheet/application.css')!!}
<!--/Style-->
@yield('head')
<style>
body {