mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-11-08 12:12:48 +01:00
Working on L5
This commit is contained in:
parent
ee2a7fccf6
commit
e95b6461bb
40
LICENSE
Normal file
40
LICENSE
Normal file
@ -0,0 +1,40 @@
|
||||
Attribution Assurance License
|
||||
Copyright (c) 2014 by Hillel Coren
|
||||
http://www.hillelcoren.com
|
||||
|
||||
All Rights Reserved
|
||||
ATTRIBUTION ASSURANCE LICENSE (adapted from the original BSD license)
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the conditions below are met.
|
||||
These conditions require a modest attribution to InvoiceNinja.com. The hope
|
||||
is that its promotional value may help justify the thousands of dollars in
|
||||
otherwise billable time invested in writing this and other freely available,
|
||||
open-source software.
|
||||
|
||||
1. Redistributions of source code, in whole or part and with or without
|
||||
modification requires the express permission of the author and must prominently
|
||||
display "Powered by InvoiceNinja" or the Invoice Ninja logo in verifiable form
|
||||
with hyperlink to said site.
|
||||
2. Neither the name nor any trademark of the Author may be used to
|
||||
endorse or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
3. Users are entirely responsible, to the exclusion of the Author and
|
||||
any other persons, for compliance with (1) regulations set by owners or
|
||||
administrators of employed equipment, (2) licensing terms of any other
|
||||
software, and (3) local regulations regarding use, including those
|
||||
regarding import, export, and use of encryption software.
|
||||
|
||||
THIS FREE SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||
EVENT SHALL THE AUTHOR OR ANY CONTRIBUTOR BE LIABLE FOR
|
||||
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
EFFECTS OF UNAUTHORIZED OR MALICIOUS NETWORK ACCESS;
|
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
|
||||
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
@ -1,6 +1,7 @@
|
||||
<?php namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use App\Models\Client;
|
||||
use Illuminate\Contracts\Auth\Guard;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
|
||||
@ -33,7 +34,7 @@ class RedirectIfAuthenticated {
|
||||
*/
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if ($this->auth->check())
|
||||
if ($this->auth->check() && Client::scope()->count() > 0)
|
||||
{
|
||||
return new RedirectResponse(url('/dashboard'));
|
||||
}
|
||||
|
@ -11,12 +11,11 @@ class InvoiceDesign extends Eloquent
|
||||
|
||||
foreach($designs as $design) {
|
||||
if($design->filename) {
|
||||
$fileName = public_path($design->filename);
|
||||
$fileName = public_path(strtolower("js/templates/{$design->name}.js"));
|
||||
if(file_exists($fileName)) {
|
||||
$design->javascript = file_get_contents($fileName);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $designs;
|
||||
|
@ -16,6 +16,11 @@ class AddPartialAmountToInvoices extends Migration {
|
||||
{
|
||||
$table->decimal('partial', 13, 2)->nullable();
|
||||
});
|
||||
|
||||
Schema::table('accounts', function($table)
|
||||
{
|
||||
$table->boolean('utf8_invoices')->default(false);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -29,6 +34,11 @@ class AddPartialAmountToInvoices extends Migration {
|
||||
{
|
||||
$table->dropColumn('partial');
|
||||
});
|
||||
|
||||
Schema::table('accounts', function($table)
|
||||
{
|
||||
$table->dropColumn('utf8_invoices');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,47 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class InvoicesFile extends Migration {
|
||||
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('invoice_designs', function($table)
|
||||
{
|
||||
$table->text('filename')->nullable();
|
||||
});
|
||||
|
||||
DB::table('invoice_designs')->where('id', 1)->update([
|
||||
'filename'=>'js/templates/clean.js'
|
||||
]);
|
||||
DB::table('invoice_designs')->where('id', 2)->update([
|
||||
'filename'=>'js/templates/bold.js'
|
||||
]);
|
||||
DB::table('invoice_designs')->where('id', 3)->update([
|
||||
'filename'=>'js/templates/modern.js'
|
||||
]);
|
||||
DB::table('invoice_designs')->where('id', 4)->update([
|
||||
'filename'=>'js/templates/plain.js'
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('invoice_designs', function($table)
|
||||
{
|
||||
$table->dropColumn('filename');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
513
public/css/built.css
vendored
513
public/css/built.css
vendored
File diff suppressed because one or more lines are too long
6
public/css/built.public.css
vendored
6
public/css/built.public.css
vendored
File diff suppressed because one or more lines are too long
29
public/css/style.css
vendored
29
public/css/style.css
vendored
@ -1,5 +1,6 @@
|
||||
body { background: #f8f8f8 !important;
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 15px;
|
||||
}
|
||||
.bold { font-weight: 700; }
|
||||
a {color:#0b4d78;}
|
||||
@ -38,8 +39,8 @@ height: 40px;
|
||||
padding: 9px 12px;
|
||||
font-size: 14px;
|
||||
line-height: 1.42857143;
|
||||
color: #555;
|
||||
background-color: #fff;
|
||||
color: #000 !important;
|
||||
background: #f9f9f9 !important;
|
||||
background-image: none;
|
||||
border: 1px solid #dfe0e1;
|
||||
border-radius: 2px;
|
||||
@ -804,4 +805,28 @@ body.modal-open { overflow:inherit; padding-right:inherit !important; }
|
||||
|
||||
div.checkbox > label {
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
|
||||
.container input[type=text],
|
||||
.container input[type=email],
|
||||
.container textarea,
|
||||
.container select {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
width: 100%;
|
||||
color: #000 !important;
|
||||
background: #f9f9f9 !important;
|
||||
border: 1px solid #ebe7e7;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.container input[placeholder],
|
||||
.container textarea[placeholder],
|
||||
.container select[placeholder] {
|
||||
color: #444444;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
font-size: 18px;
|
||||
}
|
1128
public/js/built.js
1128
public/js/built.js
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -593,5 +593,8 @@ return array(
|
||||
'partial' => 'Partial',
|
||||
'partial_remaining' => ':partial of :balance',
|
||||
|
||||
'more_fields' => 'More Fields',
|
||||
'less_fields' => 'Less Fields',
|
||||
'client_name' => 'Client Name',
|
||||
|
||||
);
|
||||
|
@ -6,7 +6,11 @@
|
||||
{!! Former::open($url)->method($method)->rule()->addClass('col-md-8 col-md-offset-2 warn-on-exit') !!}
|
||||
{!! Former::populate($account) !!}
|
||||
|
||||
|
||||
{!! Former::legend($title) !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
@if ($accountGateway)
|
||||
{!! Former::populateField('payment_type_id', $paymentTypeId) !!}
|
||||
@ -76,7 +80,9 @@
|
||||
->addGroupClass('gateway-option')
|
||||
!!}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p/> <p/>
|
||||
|
||||
{!! Former::actions(
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
</style>
|
||||
|
||||
{!! Former::open_for_files()->addClass('col-md-10 col-md-offset-1 warn-on-exit')->rules(array(
|
||||
{!! Former::open_for_files()->addClass('warn-on-exit')->rules(array(
|
||||
'name' => 'required',
|
||||
'email' => 'email|required'
|
||||
)) !!}
|
||||
@ -25,9 +25,14 @@
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-5">
|
||||
<div class="col-md-6">
|
||||
|
||||
{!! Former::legend('details') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.details') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::text('name') !!}
|
||||
{!! Former::text('id_number') !!}
|
||||
{!! Former::text('vat_number') !!}
|
||||
@ -44,8 +49,15 @@
|
||||
|
||||
{!! Former::select('size_id')->addOption('','')->fromQuery($sizes, 'name', 'id') !!}
|
||||
{!! Former::select('industry_id')->addOption('','')->fromQuery($industries, 'name', 'id') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::legend('address') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.address') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::text('address1') !!}
|
||||
{!! Former::text('address2') !!}
|
||||
{!! Former::text('city') !!}
|
||||
@ -54,12 +66,18 @@
|
||||
{!! Former::select('country_id')->addOption('','')
|
||||
->fromQuery($countries, 'name', 'id') !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5 col-md-offset-1">
|
||||
<div class="col-md-6">
|
||||
|
||||
@if ($showUser)
|
||||
{!! Former::legend('users') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.users') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::text('first_name') !!}
|
||||
{!! Former::text('last_name') !!}
|
||||
{!! Former::text('email') !!}
|
||||
@ -69,9 +87,17 @@
|
||||
@elseif (Auth::user()->registered)
|
||||
{!! Former::actions( Button::primary(trans('texts.resend_confirmation'))->asLinkTo('/resend_confirmation')->small() ) !!}
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{!! Former::legend('localization') !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.localization') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::select('language_id')->addOption('','')
|
||||
->fromQuery($languages, 'name', 'id') !!}
|
||||
{!! Former::select('currency_id')->addOption('','')
|
||||
@ -82,8 +108,8 @@
|
||||
->fromQuery($dateFormats, 'label', 'id') !!}
|
||||
{!! Former::select('datetime_format_id')->addOption('','')
|
||||
->fromQuery($datetimeFormats, 'label', 'id') !!}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -91,7 +117,6 @@
|
||||
{!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!}
|
||||
</center>
|
||||
|
||||
{!! Former::close() !!}
|
||||
|
||||
|
||||
<div class="modal fade" id="passwordModal" tabindex="-1" role="dialog" aria-labelledby="passwordModalLabel" aria-hidden="true">
|
||||
@ -146,6 +171,8 @@
|
||||
</div>
|
||||
|
||||
|
||||
{!! Former::close() !!}
|
||||
|
||||
{!! Form::open(['url' => 'remove_logo', 'class' => 'removeLogoForm']) !!}
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
@ -15,45 +15,59 @@
|
||||
@parent
|
||||
@include('accounts.nav_advanced')
|
||||
|
||||
{!! Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') !!}
|
||||
{!! Former::open()->addClass('col-md-10 col-md-offset-1 warn-on-exit') !!}
|
||||
{!! Former::populateField('email_template_invoice', $invoiceEmail) !!}
|
||||
{!! Former::populateField('email_template_quote', $quoteEmail) !!}
|
||||
{!! Former::populateField('email_template_payment', $paymentEmail) !!}
|
||||
|
||||
{!! Former::legend('invoice_email') !!}
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
{!! Former::textarea('email_template_invoice')->raw() !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.invoice_email') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{!! Former::textarea('email_template_invoice')->raw() !!}
|
||||
</div>
|
||||
<div class="col-md-6" id="invoice_preview"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5" id="invoice_preview"></div>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
{!! Former::legend('quote_email') !!}
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
{!! Former::textarea('email_template_quote')->raw() !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.quote_email') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{!! Former::textarea('email_template_quote')->raw() !!}
|
||||
</div>
|
||||
<div class="col-md-6" id="quote_preview"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5" id="quote_preview"></div>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
{!! Former::legend('payment_email') !!}
|
||||
<div class="row">
|
||||
<div class="col-md-7">
|
||||
{!! Former::textarea('email_template_payment')->raw() !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.payment_email') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
{!! Former::textarea('email_template_payment')->raw() !!}
|
||||
</div>
|
||||
<div class="col-md-6" id="payment_preview"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-5" id="payment_preview"></div>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
|
||||
@if (Auth::user()->isPro())
|
||||
{!! Former::actions(
|
||||
Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk'))
|
||||
) !!}
|
||||
<center>
|
||||
{!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!}
|
||||
</center>
|
||||
@else
|
||||
<script>
|
||||
$(function() {
|
||||
|
@ -3,23 +3,40 @@
|
||||
@section('content')
|
||||
@parent
|
||||
|
||||
{!! Former::open_for_files('company/import_map')->addClass('col-md-9 col-md-offset-1') !!}
|
||||
{!! Former::legend('texts.import_clients') !!}
|
||||
{!! Former::file('file')->label(trans('texts.csv_file')) !!}
|
||||
{!! Former::actions( Button::info(trans('texts.upload'))->submit()->large()->appendIcon(Icon::create('open'))) !!}
|
||||
{!! Former::open_for_files('company/import_map')->addClass('col-md-9 col-md-offset-1') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.import_clients') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::file('file')->label(trans('texts.csv_file')) !!}
|
||||
{!! Former::actions( Button::info(trans('texts.upload'))->submit()->large()->appendIcon(Icon::create('open'))) !!}
|
||||
</div>
|
||||
</div>
|
||||
{!! Former::close() !!}
|
||||
|
||||
{!! Former::open('company/export')->addClass('col-md-9 col-md-offset-1') !!}
|
||||
{!! Former::legend('texts.export_clients') !!}
|
||||
{!! Former::actions( Button::primary(trans('texts.download'))->submit()->large()->appendIcon(Icon::create('download-alt'))) !!}
|
||||
|
||||
{!! Former::open('company/export')->addClass('col-md-9 col-md-offset-1') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.export_clients') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::actions( Button::primary(trans('texts.download'))->submit()->large()->appendIcon(Icon::create('download-alt'))) !!}
|
||||
</div>
|
||||
</div>
|
||||
{!! Former::close() !!}
|
||||
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
|
||||
{!! Former::open('company/cancel_account')->addClass('col-md-9 col-md-offset-1 cancel-account') !!}
|
||||
{!! Former::legend('cancel_account') !!}
|
||||
{!! Former::actions( Button::danger(trans('texts.cancel_account'))->large()->withAttributes(['onclick' => 'showConfirm()'])->appendIcon(Icon::create('trash'))) !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.cancel_account') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::actions( Button::danger(trans('texts.cancel_account'))->large()->withAttributes(['onclick' => 'showConfirm()'])->appendIcon(Icon::create('trash'))) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="confirmCancelModal" tabindex="-1" role="dialog" aria-labelledby="confirmCancelModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" style="min-width:150px">
|
||||
|
@ -66,29 +66,37 @@
|
||||
{!! Former::populateField('hide_quantity', intval($account->hide_quantity)) !!}
|
||||
{!! Former::populateField('hide_paid_to_date', intval($account->hide_paid_to_date)) !!}
|
||||
|
||||
{!! Former::legend('invoice_design') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.invoice_design') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
|
||||
@if (!Utils::isPro() || \App\Models\InvoiceDesign::count() == COUNT_FREE_DESIGNS)
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id')->addOption(trans('texts.more_designs') . '...', '-1') !!}
|
||||
@else
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id') !!}
|
||||
@endif
|
||||
@if (!Utils::isPro() || \App\Models\InvoiceDesign::count() == COUNT_FREE_DESIGNS)
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id')->addOption(trans('texts.more_designs') . '...', '-1') !!}
|
||||
@else
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:120px')->fromQuery($invoiceDesigns, 'name', 'id') !!}
|
||||
@endif
|
||||
|
||||
|
||||
|
||||
|
||||
{!! Former::text('primary_color') !!}
|
||||
{!! Former::text('secondary_color') !!}
|
||||
{!! Former::text('primary_color') !!}
|
||||
{!! Former::text('secondary_color') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.invoice_options') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::checkbox('hide_quantity')->text(trans('texts.hide_quantity_help')) !!}
|
||||
{!! Former::checkbox('hide_paid_to_date')->text(trans('texts.hide_paid_to_date_help')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::legend('invoice_options') !!}
|
||||
{!! Former::checkbox('hide_quantity')->text(trans('texts.hide_quantity_help')) !!}
|
||||
{!! Former::checkbox('hide_paid_to_date')->text(trans('texts.hide_paid_to_date_help')) !!}
|
||||
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
|
||||
@if (Auth::user()->isPro())
|
||||
{!! Former::actions( Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk'))) !!}
|
||||
|
@ -17,51 +17,95 @@
|
||||
@parent
|
||||
@include('accounts.nav_advanced')
|
||||
|
||||
{!! Former::open()->addClass('col-md-8 col-md-offset-2 warn-on-exit') !!}
|
||||
{!! Former::open()->addClass('warn-on-exit') !!}
|
||||
{!! Former::populate($account) !!}
|
||||
{!! Former::populateField('custom_invoice_taxes1', intval($account->custom_invoice_taxes1)) !!}
|
||||
{!! Former::populateField('custom_invoice_taxes2', intval($account->custom_invoice_taxes2)) !!}
|
||||
{!! Former::populateField('share_counter', intval($account->share_counter)) !!}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
{!! Former::legend('invoice_fields') !!}
|
||||
{!! Former::text('custom_invoice_label1')->label(trans('texts.field_label'))
|
||||
->append(Former::checkbox('custom_invoice_taxes1')->raw() . trans('texts.charge_taxes')) !!}
|
||||
{!! Former::text('custom_invoice_label2')->label(trans('texts.field_label'))
|
||||
->append(Former::checkbox('custom_invoice_taxes2')->raw() . ' ' . trans('texts.charge_taxes')) !!}
|
||||
<p> </p>
|
||||
|
||||
{!! Former::legend('client_fields') !!}
|
||||
{!! Former::text('custom_client_label1')->label(trans('texts.field_label')) !!}
|
||||
{!! Former::text('custom_client_label2')->label(trans('texts.field_label')) !!}
|
||||
<p> </p>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.invoice_fields') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::text('custom_invoice_label1')->label(trans('texts.field_label'))
|
||||
->append(Former::checkbox('custom_invoice_taxes1')->raw() . trans('texts.charge_taxes')) !!}
|
||||
{!! Former::text('custom_invoice_label2')->label(trans('texts.field_label'))
|
||||
->append(Former::checkbox('custom_invoice_taxes2')->raw() . ' ' . trans('texts.charge_taxes')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::legend('company_fields') !!}
|
||||
{!! Former::text('custom_label1')->label(trans('texts.field_label')) !!}
|
||||
{!! Former::text('custom_value1')->label(trans('texts.field_value')) !!}
|
||||
<p> </p>
|
||||
{!! Former::text('custom_label2')->label(trans('texts.field_label')) !!}
|
||||
{!! Former::text('custom_value2')->label(trans('texts.field_value')) !!}
|
||||
<p> </p>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.client_fields') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::text('custom_client_label1')->label(trans('texts.field_label')) !!}
|
||||
{!! Former::text('custom_client_label2')->label(trans('texts.field_label')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::legend('invoice_number') !!}
|
||||
{!! Former::text('invoice_number_prefix')->label(trans('texts.invoice_number_prefix')) !!}
|
||||
{!! Former::text('invoice_number_counter')->label(trans('texts.invoice_number_counter')) !!}
|
||||
<p> </p>
|
||||
|
||||
{!! Former::legend('quote_number') !!}
|
||||
{!! Former::text('quote_number_prefix')->label(trans('texts.quote_number_prefix')) !!}
|
||||
{!! Former::text('quote_number_counter')->label(trans('texts.quote_number_counter'))
|
||||
->append(Former::checkbox('share_counter')->raw()->onclick('setQuoteNumberEnabled()') . ' ' . trans('texts.share_invoice_counter')) !!}
|
||||
<p> </p>
|
||||
|
||||
{!! Former::legend('email_settings') !!}
|
||||
{!! Former::checkbox('pdf_email_attachment') !!}
|
||||
<p> </p>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.company_fields') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::text('custom_label1')->label(trans('texts.field_label')) !!}
|
||||
{!! Former::text('custom_value1')->label(trans('texts.field_value')) !!}
|
||||
<p> </p>
|
||||
{!! Former::text('custom_label2')->label(trans('texts.field_label')) !!}
|
||||
{!! Former::text('custom_value2')->label(trans('texts.field_value')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.invoice_number') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::text('invoice_number_prefix')->label(trans('texts.invoice_number_prefix')) !!}
|
||||
{!! Former::text('invoice_number_counter')->label(trans('texts.invoice_number_counter')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.quote_number') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::text('quote_number_prefix')->label(trans('texts.quote_number_prefix')) !!}
|
||||
{!! Former::text('quote_number_counter')->label(trans('texts.quote_number_counter'))
|
||||
->append(Former::checkbox('share_counter')->raw()->onclick('setQuoteNumberEnabled()') . ' ' . trans('texts.share_invoice_counter')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.email_settings') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::checkbox('pdf_email_attachment') !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (Auth::user()->isPro())
|
||||
{!! Former::actions( Button::success(trans('texts.save'))->large()->submit()->appendIcon(Icon::create('floppy-disk'))) !!}
|
||||
<center>
|
||||
{!! Button::success(trans('texts.save'))->large()->submit()->appendIcon(Icon::create('floppy-disk')) !!}
|
||||
</center>
|
||||
@else
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$('form.warn-on-exit input').prop('disabled', true);
|
||||
|
@ -10,12 +10,20 @@
|
||||
{{ Former::populateField('notify_paid', intval(Auth::user()->notify_paid)) }}
|
||||
{{ Former::populateField('notify_approved', intval(Auth::user()->notify_approved)) }}
|
||||
|
||||
{!! Former::legend(trans('texts.email_notifications')) !!}
|
||||
{!! Former::checkbox('notify_sent')->label(' ')->text(trans('texts.email_sent')) !!}
|
||||
{!! Former::checkbox('notify_viewed')->label(' ')->text(trans('texts.email_viewed')) !!}
|
||||
{!! Former::checkbox('notify_paid')->label(' ')->text(trans('texts.email_paid')) !!}
|
||||
{!! Former::checkbox('notify_approved')->label(' ')->text(trans('texts.email_approved')) !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.email_notifications') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::checkbox('notify_sent')->label(' ')->text(trans('texts.email_sent')) !!}
|
||||
{!! Former::checkbox('notify_viewed')->label(' ')->text(trans('texts.email_viewed')) !!}
|
||||
{!! Former::checkbox('notify_paid')->label(' ')->text(trans('texts.email_paid')) !!}
|
||||
{!! Former::checkbox('notify_approved')->label(' ')->text(trans('texts.email_approved')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!--
|
||||
{!! Former::legend(trans('texts.site_updates')) !!}
|
||||
|
||||
<div class="form-group">
|
||||
@ -37,13 +45,21 @@
|
||||
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
||||
|
||||
</div></div>
|
||||
-->
|
||||
|
||||
{!! Former::legend(trans('texts.custom_messages')) !!}
|
||||
{!! Former::textarea('invoice_terms')->label(trans('texts.default_invoice_terms'))
|
||||
->onchange("$('#invoice_terms').val(wordWrapText($('#invoice_terms').val(), 300))") !!}
|
||||
{!! Former::textarea('invoice_footer')->label(trans('texts.default_invoice_footer'))
|
||||
->onchange("$('#invoice_footer').val(wordWrapText($('#invoice_footer').val(), 600))") !!}
|
||||
{!! Former::textarea('email_footer')->label(trans('texts.default_email_footer')) !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.custom_messages') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{!! Former::textarea('invoice_terms')->label(trans('texts.default_invoice_terms'))
|
||||
->onchange("$('#invoice_terms').val(wordWrapText($('#invoice_terms').val(), 300))") !!}
|
||||
{!! Former::textarea('invoice_footer')->label(trans('texts.default_invoice_footer'))
|
||||
->onchange("$('#invoice_footer').val(wordWrapText($('#invoice_footer').val(), 600))") !!}
|
||||
{!! Former::textarea('email_footer')->label(trans('texts.default_email_footer')) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::actions(
|
||||
Button::success(trans('texts.save'))
|
||||
|
@ -10,6 +10,9 @@
|
||||
|
||||
{!! Former::legend($title) !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
@if ($product)
|
||||
{{ Former::populate($product) }}
|
||||
{{ Former::populateField('cost', number_format($product->cost, 2, '.', '')) }}
|
||||
@ -19,6 +22,9 @@
|
||||
{!! Former::textarea('notes')->data_bind("value: wrapped_notes, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('cost') !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::actions(
|
||||
Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')),
|
||||
Button::normal(trans('texts.cancel'))->large()->asLinkTo('/company/products')->appendIcon(Icon::create('remove-circle'))
|
||||
|
@ -3,17 +3,22 @@
|
||||
@section('content')
|
||||
@parent
|
||||
|
||||
{!! Former::open()->addClass('col-md-10 col-md-offset-1 warn-on-exit') !!}
|
||||
{!! Former::open()->addClass('warn-on-exit') !!}
|
||||
{{ Former::populateField('fill_products', intval($account->fill_products)) }}
|
||||
{{ Former::populateField('update_products', intval($account->update_products)) }}
|
||||
|
||||
|
||||
{!! Former::legend(trans('texts.product_library')) !!}
|
||||
{!! Former::checkbox('fill_products')->text(trans('texts.fill_products_help')) !!}
|
||||
{!! Former::checkbox('update_products')->text(trans('texts.update_products_help')) !!}
|
||||
|
||||
{!! Former::actions( Button::success(trans('texts.save'))->submit()->appendIcon(Icon::create('floppy-disk')) ) !!}
|
||||
{!! Former::close() !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::checkbox('fill_products')->text(trans('texts.fill_products_help')) !!}
|
||||
{!! Former::checkbox('update_products')->text(trans('texts.update_products_help')) !!}
|
||||
|
||||
{!! Former::actions( Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) ) !!}
|
||||
{!! Former::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Button::success(trans('texts.create_product'))
|
||||
->asLinkTo('/products/create')
|
||||
|
@ -10,7 +10,8 @@
|
||||
|
||||
{!! Former::legend($title) !!}
|
||||
|
||||
<p> </p>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
@if ($token)
|
||||
{!! Former::populate($token) !!}
|
||||
@ -18,7 +19,8 @@
|
||||
|
||||
{!! Former::text('name') !!}
|
||||
|
||||
<p> </p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::actions(
|
||||
Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')),
|
||||
|
@ -18,7 +18,12 @@
|
||||
<div class="col-md-6">
|
||||
|
||||
|
||||
{!! Former::legend('organization') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.organization') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::text('name')->data_bind("attr { placeholder: placeholderName }") !!}
|
||||
{!! Former::text('id_number') !!}
|
||||
{!! Former::text('vat_number') !!}
|
||||
@ -33,8 +38,15 @@
|
||||
{!! Former::text('custom_value2')->label($customLabel2) !!}
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::legend('address') !!}
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.address') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::text('address1') !!}
|
||||
{!! Former::text('address2') !!}
|
||||
{!! Former::text('city') !!}
|
||||
@ -43,11 +55,18 @@
|
||||
{!! Former::select('country_id')->addOption('','')
|
||||
->fromQuery($countries, 'name', 'id') !!}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
|
||||
{!! Former::legend('contacts') !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.contacts') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
<div data-bind='template: { foreach: contacts,
|
||||
beforeRemove: hideContact,
|
||||
afterAdd: showContact }'>
|
||||
@ -68,18 +87,27 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::legend('additional_info') !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h3 class="panel-title">{!! trans('texts.additional_info') !!}</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::select('currency_id')->addOption('','')
|
||||
->fromQuery($currencies, 'name', 'id') !!}
|
||||
{!! Former::select('payment_terms')->addOption('','')
|
||||
->fromQuery($paymentTerms, 'name', 'num_days') !!}
|
||||
{!! Former::select('currency_id')->addOption('','')
|
||||
->fromQuery($currencies, 'name', 'id') !!}
|
||||
{!! Former::select('size_id')->addOption('','')
|
||||
->fromQuery($sizes, 'name', 'id') !!}
|
||||
{!! Former::select('industry_id')->addOption('','')
|
||||
->fromQuery($industries, 'name', 'id') !!}
|
||||
{!! Former::textarea('private_notes') !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -14,18 +14,23 @@
|
||||
)) !!}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::select('client')->addOption('', '')->addGroupClass('client-select') !!}
|
||||
{!! Former::text('amount') !!}
|
||||
{!! Former::text('credit_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT, DEFAULT_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar"></i>') !!}
|
||||
{!! Former::textarea('private_notes') !!}
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<center class="buttons">
|
||||
{!! Button::success(trans('texts.save'))->submit()->large()->appendIcon(Icon::create('floppy-disk')) !!}
|
||||
{!! Button::normal(trans('texts.cancel'))->large()->asLinkTo('/credits')->appendIcon(Icon::create('remove-circle')) !!}
|
||||
|
@ -113,7 +113,8 @@
|
||||
|
||||
<form class="navbar-form navbar-right" role="search">
|
||||
<div class="form-group">
|
||||
<input type="text" id="search" class="form-control" placeholder="{{ trans('texts.search') }}">
|
||||
<input type="text" id="search" style="width: 160px"
|
||||
class="form-control" placeholder="{{ trans('texts.search') }}">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
@ -30,9 +30,13 @@
|
||||
'product_key' => 'max:20'
|
||||
)) !!}
|
||||
|
||||
|
||||
<input type="submit" style="display:none" name="submitButton" id="submitButton">
|
||||
|
||||
<div data-bind="with: invoice">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="row" style="min-height:195px" onkeypress="formEnterClick(event)">
|
||||
<div class="col-md-4" id="col_1">
|
||||
|
||||
@ -175,7 +179,7 @@
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td class="hide-border"/>
|
||||
<td colspan="2" rowspan="6" style="vertical-align:top">
|
||||
<td class="hide-border" colspan="2" rowspan="6" style="vertical-align:top">
|
||||
<br/>
|
||||
<div role="tabpanel">
|
||||
|
||||
@ -275,9 +279,9 @@
|
||||
|
||||
<tr>
|
||||
<td class="hide-border" colspan="3"/>
|
||||
<td style="display:none" data-bind="visible: $root.invoice_item_taxes.show"/>
|
||||
<td colspan="{{ $account->hide_quantity ? 1 : 2 }}"><b>{{ trans($entityType == ENTITY_INVOICE ? 'texts.balance_due' : 'texts.total') }}</b></td>
|
||||
<td style="text-align: right"><span data-bind="text: totals.total"></span></td>
|
||||
<td class="hide-border" style="display:none" data-bind="visible: $root.invoice_item_taxes.show"/>
|
||||
<td class="hide-border" colspan="{{ $account->hide_quantity ? 1 : 2 }}"><b>{{ trans($entityType == ENTITY_INVOICE ? 'texts.balance_due' : 'texts.total') }}</b></td>
|
||||
<td class="hide-border" style="text-align: right"><span data-bind="text: totals.total"></span></td>
|
||||
</tr>
|
||||
|
||||
</tfoot>
|
||||
@ -285,7 +289,9 @@
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p> </p>
|
||||
<div class="form-actions">
|
||||
|
||||
@ -302,9 +308,9 @@
|
||||
|
||||
|
||||
@if (!Utils::isPro() || \App\Models\InvoiceDesign::count() == COUNT_FREE_DESIGNS)
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:150px')->raw()->fromQuery($invoiceDesigns, 'name', 'id')->data_bind("value: invoice_design_id")->addOption(trans('texts.more_designs') . '...', '-1') !!}
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:150px;background-color:white !important')->raw()->fromQuery($invoiceDesigns, 'name', 'id')->data_bind("value: invoice_design_id")->addOption(trans('texts.more_designs') . '...', '-1') !!}
|
||||
@else
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:150px')->raw()->fromQuery($invoiceDesigns, 'name', 'id')->data_bind("value: invoice_design_id") !!}
|
||||
{!! Former::select('invoice_design_id')->style('display:inline;width:150px;background-color:white !important')->raw()->fromQuery($invoiceDesigns, 'name', 'id')->data_bind("value: invoice_design_id") !!}
|
||||
@endif
|
||||
|
||||
{!! Button::primary(trans('texts.download_pdf'))->withAttributes(array('onclick' => 'onDownloadClick()'))->appendIcon(Icon::create('download-alt')) !!}
|
||||
@ -372,96 +378,105 @@
|
||||
@endif
|
||||
|
||||
<div class="modal fade" id="clientModal" tabindex="-1" role="dialog" aria-labelledby="clientModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog large-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-dialog" data-bind="css: {'large-dialog': $root.showMore}">
|
||||
<div class="modal-content" style="background-color: #f8f8f8">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title" id="clientModalLabel">{{ trans('texts.client') }}</h4>
|
||||
</div>
|
||||
|
||||
<div class="container" style="width: 100%">
|
||||
<div style="background-color: #fff" class="row" data-bind="with: client" onkeypress="clientModalEnterClick(event)">
|
||||
<div class="col-md-6" style="margin-left:0px;margin-right:0px" >
|
||||
<div class="container" style="width: 100%; padding-bottom: 0px !important">
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::legend('organization') !!}
|
||||
{!! Former::text('name')->data_bind("value: name, valueUpdate: 'afterkeydown', attr { placeholder: name.placeholder }") !!}
|
||||
{!! Former::text('id_number')->data_bind("value: id_number, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('vat_number')->data_bind("value: vat_number, valueUpdate: 'afterkeydown'") !!}
|
||||
|
||||
{!! Former::text('website')->data_bind("value: website, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('work_phone')->data_bind("value: work_phone, valueUpdate: 'afterkeydown'") !!}
|
||||
<div class="row" data-bind="with: client" onkeypress="clientModalEnterClick(event)">
|
||||
<div style="margin-left:0px;margin-right:0px" data-bind="css: {'col-md-6': $root.showMore}">
|
||||
|
||||
@if (Auth::user()->isPro())
|
||||
@if ($account->custom_client_label1)
|
||||
{!! Former::text('custom_value1')->label($account->custom_client_label1)
|
||||
->data_bind("value: custom_value1, valueUpdate: 'afterkeydown'") !!}
|
||||
@endif
|
||||
@if ($account->custom_client_label2)
|
||||
{!! Former::text('custom_value2')->label($account->custom_client_label2)
|
||||
->data_bind("value: custom_value2, valueUpdate: 'afterkeydown'") !!}
|
||||
@endif
|
||||
@endif
|
||||
|
||||
{!! Former::legend('address') !!}
|
||||
{!! Former::text('address1')->data_bind("value: address1, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('address2')->data_bind("value: address2, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('city')->data_bind("value: city, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('state')->data_bind("value: state, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('postal_code')->data_bind("value: postal_code, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::select('country_id')->addOption('','')->addGroupClass('country_select')
|
||||
->fromQuery($countries, 'name', 'id')->data_bind("dropdown: country_id") !!}
|
||||
|
||||
</div>
|
||||
<div class="col-md-6" style="margin-left:0px;margin-right:0px" >
|
||||
{!! Former::text('name')->data_bind("value: name, valueUpdate: 'afterkeydown', attr { placeholder: name.placeholder }")->label('client_name') !!}
|
||||
<span data-bind="visible: $root.showMore">
|
||||
{!! Former::text('id_number')->data_bind("value: id_number, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('vat_number')->data_bind("value: vat_number, valueUpdate: 'afterkeydown'") !!}
|
||||
|
||||
{!! Former::text('website')->data_bind("value: website, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('work_phone')->data_bind("value: work_phone, valueUpdate: 'afterkeydown'") !!}
|
||||
|
||||
@if (Auth::user()->isPro())
|
||||
@if ($account->custom_client_label1)
|
||||
{!! Former::text('custom_value1')->label($account->custom_client_label1)
|
||||
->data_bind("value: custom_value1, valueUpdate: 'afterkeydown'") !!}
|
||||
@endif
|
||||
@if ($account->custom_client_label2)
|
||||
{!! Former::text('custom_value2')->label($account->custom_client_label2)
|
||||
->data_bind("value: custom_value2, valueUpdate: 'afterkeydown'") !!}
|
||||
@endif
|
||||
@endif
|
||||
|
||||
{!! Former::legend('contacts') !!}
|
||||
<div data-bind='template: { foreach: contacts,
|
||||
beforeRemove: hideContact,
|
||||
afterAdd: showContact }'>
|
||||
{!! Former::hidden('public_id')->data_bind("value: public_id, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('first_name')->data_bind("value: first_name, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('last_name')->data_bind("value: last_name, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('email')->data_bind('value: email, valueUpdate: \'afterkeydown\', attr: {id:\'email\'+$index()}') !!}
|
||||
{!! Former::text('phone')->data_bind("value: phone, valueUpdate: 'afterkeydown'") !!}
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-lg-8 col-lg-offset-4">
|
||||
<span class="redlink bold" data-bind="visible: $parent.contacts().length > 1">
|
||||
{!! link_to('#', trans('texts.remove_contact').' -', array('data-bind'=>'click: $parent.removeContact')) !!}
|
||||
</span>
|
||||
<span data-bind="visible: $index() === ($parent.contacts().length - 1)" class="pull-right greenlink bold">
|
||||
{!! link_to('#', trans('texts.add_contact').' +', array('data-bind'=>'click: $parent.addContact')) !!}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! Former::text('address1')->data_bind("value: address1, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('address2')->data_bind("value: address2, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('city')->data_bind("value: city, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('state')->data_bind("value: state, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('postal_code')->data_bind("value: postal_code, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::select('country_id')->addOption('','')->addGroupClass('country_select')
|
||||
->fromQuery($countries, 'name', 'id')->data_bind("dropdown: country_id") !!}
|
||||
</span>
|
||||
|
||||
{!! Former::legend('additional_info') !!}
|
||||
{!! Former::select('payment_terms')->addOption('','0')->data_bind('value: payment_terms')
|
||||
->fromQuery($paymentTerms, 'name', 'num_days') !!}
|
||||
{!! Former::select('currency_id')->addOption('','')->data_bind('value: currency_id')
|
||||
->fromQuery($currencies, 'name', 'id') !!}
|
||||
{!! Former::select('size_id')->addOption('','')->data_bind('value: size_id')
|
||||
->fromQuery($sizes, 'name', 'id') !!}
|
||||
{!! Former::select('industry_id')->addOption('','')->data_bind('value: industry_id')
|
||||
->fromQuery($industries, 'name', 'id') !!}
|
||||
{!! Former::textarea('private_notes')->data_bind('value: private_notes') !!}
|
||||
</div>
|
||||
<div style="margin-left:0px;margin-right:0px" data-bind="css: {'col-md-6': $root.showMore}">
|
||||
|
||||
<div data-bind='template: { foreach: contacts,
|
||||
beforeRemove: hideContact,
|
||||
afterAdd: showContact }'>
|
||||
{!! Former::hidden('public_id')->data_bind("value: public_id, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('first_name')->data_bind("value: first_name, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('last_name')->data_bind("value: last_name, valueUpdate: 'afterkeydown'") !!}
|
||||
{!! Former::text('email')->data_bind('value: email, valueUpdate: \'afterkeydown\', attr: {id:\'email\'+$index()}') !!}
|
||||
{!! Former::text('phone')->data_bind("value: phone, valueUpdate: 'afterkeydown'") !!}
|
||||
<div class="form-group">
|
||||
<div class="col-lg-8 col-lg-offset-4">
|
||||
<span class="redlink bold" data-bind="visible: $parent.contacts().length > 1">
|
||||
{!! link_to('#', trans('texts.remove_contact').' -', array('data-bind'=>'click: $parent.removeContact')) !!}
|
||||
</span>
|
||||
<span data-bind="visible: $index() === ($parent.contacts().length - 1)" class="pull-right greenlink bold">
|
||||
{!! link_to('#', trans('texts.add_contact').' +', array('data-bind'=>'click: $parent.addContact')) !!}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span data-bind="visible: $root.showMore">
|
||||
|
||||
</span>
|
||||
|
||||
<div class="modal-footer" style="margin-top: 0px">
|
||||
<span class="error-block" id="emailError" style="display:none;float:left;font-weight:bold">{{ trans('texts.provide_email') }}</span><span> </span>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ trans('texts.cancel') }}</button>
|
||||
<button id="clientDoneButton" type="button" class="btn btn-primary" data-bind="click: $root.clientFormComplete">{{ trans('texts.done') }}</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{!! Former::select('currency_id')->addOption('','')->data_bind('value: currency_id')
|
||||
->fromQuery($currencies, 'name', 'id') !!}
|
||||
|
||||
<span data-bind="visible: $root.showMore">
|
||||
{!! Former::select('payment_terms')->addOption('','0')->data_bind('value: payment_terms')
|
||||
->fromQuery($paymentTerms, 'name', 'num_days') !!}
|
||||
{!! Former::select('size_id')->addOption('','')->data_bind('value: size_id')
|
||||
->fromQuery($sizes, 'name', 'id') !!}
|
||||
{!! Former::select('industry_id')->addOption('','')->data_bind('value: industry_id')
|
||||
->fromQuery($industries, 'name', 'id') !!}
|
||||
{!! Former::textarea('private_notes')->data_bind('value: private_notes') !!}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer" style="margin-top: 0px; padding-top:0px;">
|
||||
<span class="error-block" id="emailError" style="display:none;float:left;font-weight:bold">{{ trans('texts.provide_email') }}</span><span> </span>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{ trans('texts.cancel') }}</button>
|
||||
<button type="button" class="btn btn-default" data-bind="click: $root.showMoreFields, text: $root.showMore() ? '{{ trans('texts.less_fields') }}' : '{{ trans('texts.more_fields') }}'"></button>
|
||||
<button id="clientDoneButton" type="button" class="btn btn-primary" data-bind="click: $root.clientFormComplete">{{ trans('texts.done') }}</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal fade" id="taxModal" tabindex="-1" role="dialog" aria-labelledby="taxModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
@ -538,8 +553,7 @@
|
||||
|
||||
{!! Former::close() !!}
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
@ -857,6 +871,7 @@
|
||||
|
||||
function ViewModel(data) {
|
||||
var self = this;
|
||||
self.showMore = ko.observable(false);
|
||||
//self.invoice = data ? false : new InvoiceModel();
|
||||
self.invoice = ko.observable(data ? false : new InvoiceModel());
|
||||
self.tax_rates = ko.observableArray();
|
||||
@ -866,6 +881,10 @@
|
||||
self.setDueDate();
|
||||
}
|
||||
|
||||
self.showMoreFields = function() {
|
||||
self.showMore(!self.showMore());
|
||||
}
|
||||
|
||||
self.setDueDate = function() {
|
||||
var paymentTerms = parseInt(self.invoice().client().payment_terms());
|
||||
if (paymentTerms && !self.invoice().due_date())
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
<div id="top_right_buttons" class="pull-right">
|
||||
<input id="tableFilter" type="text" style="width:140px;margin-right:17px" class="form-control pull-left" placeholder="{{ trans('texts.filter') }}"/>
|
||||
{!! Button::normal(trans("texts.new_$entityType"))->asLinkTo("/{$entityType}s/create")->withAttributes(array('class' => 'pull-right'))->appendIcon(Icon::create('plus-sign')) !!}
|
||||
{!! Button::primary(trans("texts.new_$entityType"))->asLinkTo("/{$entityType}s/create")->withAttributes(array('class' => 'pull-right'))->appendIcon(Icon::create('plus-sign')) !!}
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -17,9 +17,13 @@
|
||||
@if ($payment)
|
||||
{!! Former::populate($payment) !!}
|
||||
@endif
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
@if (!$payment)
|
||||
{!! Former::select('client')->addOption('', '')->addGroupClass('client-select') !!}
|
||||
@ -32,12 +36,13 @@
|
||||
{!! Former::text('payment_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))->append('<i class="glyphicon glyphicon-calendar"></i>') !!}
|
||||
{!! Former::text('transaction_reference') !!}
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<center class="buttons">
|
||||
{!! Button::success(trans('texts.save'))->appendIcon(Icon::create('floppy-disk'))->submit()->large() !!}
|
||||
{!! Button::withValue(trans('texts.cancel'))->appendIcon(Icon::create('remove-circle'))->asLinkTo('/payments')->large() !!}
|
||||
|
@ -22,6 +22,9 @@
|
||||
<div class="col-lg-4">
|
||||
|
||||
{!! Former::open()->addClass('warn-on-exit') !!}
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
{!! Former::populateField('start_date', $startDate) !!}
|
||||
{!! Former::populateField('end_date', $endDate) !!}
|
||||
{!! Former::select('chart_type')->options($chartTypes, $chartType) !!}
|
||||
@ -30,6 +33,8 @@
|
||||
->append('<i class="glyphicon glyphicon-calendar" onclick="toggleDatePicker(\'start_date\')"></i>') !!}
|
||||
{!! Former::text('end_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT))
|
||||
->append('<i class="glyphicon glyphicon-calendar" onclick="toggleDatePicker(\'end_date\')"></i>') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (Auth::user()->isPro())
|
||||
{!! Former::actions( Button::primary('Generate')->submit() ) !!}
|
||||
|
@ -16,10 +16,16 @@
|
||||
{!! Former::populate($user) !!}
|
||||
@endif
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-body">
|
||||
|
||||
{!! Former::text('first_name') !!}
|
||||
{!! Former::text('last_name') !!}
|
||||
{!! Former::text('email') !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! Former::actions(
|
||||
Button::success(trans($user && $user->confirmed ? 'texts.save' : 'texts.send_invite'))->submit()->large()->appendIcon(Icon::create($user && $user->confirmed ? 'floppy-disk' : 'send')),
|
||||
Button::normal(trans('texts.cancel'))->asLinkTo('/company/advanced_settings/user_management')->appendIcon(Icon::create('remove-circle'))->large()
|
||||
|
Loading…
Reference in New Issue
Block a user