mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
bug fixes
This commit is contained in:
parent
4731536311
commit
6375f3ae7a
@ -69,7 +69,7 @@ class SendRecurringInvoices extends Command {
|
|||||||
{
|
{
|
||||||
$invitation = Invitation::createNew($recurInvitation);
|
$invitation = Invitation::createNew($recurInvitation);
|
||||||
$invitation->contact_id = $recurInvitation->contact_id;
|
$invitation->contact_id = $recurInvitation->contact_id;
|
||||||
$invitation->invitation_key = str_random(20);
|
$invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
|
||||||
$invoice->invitations()->save($invitation);
|
$invoice->invitations()->save($invitation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -38,13 +38,14 @@ class AccountController extends \BaseController {
|
|||||||
{
|
{
|
||||||
$account = new Account;
|
$account = new Account;
|
||||||
$account->ip = Request::getClientIp();
|
$account->ip = Request::getClientIp();
|
||||||
$account->account_key = str_random(20);
|
$account->account_key = str_random(RANDOM_KEY_LENGTH);
|
||||||
$account->save();
|
$account->save();
|
||||||
|
|
||||||
$random = str_random(20);
|
$random = str_random(RANDOM_KEY_LENGTH);
|
||||||
|
|
||||||
$user = new User;
|
$user = new User;
|
||||||
$user->password = $random;
|
$user->password = $random;
|
||||||
|
$user->password_confirmation = $random;
|
||||||
$account->users()->save($user);
|
$account->users()->save($user);
|
||||||
|
|
||||||
Session::forget(RECENTLY_VIEWED);
|
Session::forget(RECENTLY_VIEWED);
|
||||||
@ -537,6 +538,7 @@ class AccountController extends \BaseController {
|
|||||||
$user->last_name = trim(Input::get('new_last_name'));
|
$user->last_name = trim(Input::get('new_last_name'));
|
||||||
$user->email = trim(Input::get('new_email'));
|
$user->email = trim(Input::get('new_email'));
|
||||||
$user->password = trim(Input::get('new_password'));
|
$user->password = trim(Input::get('new_password'));
|
||||||
|
$user->password_confirmation = trim(Input::get('new_password'));
|
||||||
$user->registered = true;
|
$user->registered = true;
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
|
@ -431,7 +431,7 @@ class InvoiceController extends \BaseController {
|
|||||||
$invitation = Invitation::createNew();
|
$invitation = Invitation::createNew();
|
||||||
$invitation->invoice_id = $invoice->id;
|
$invitation->invoice_id = $invoice->id;
|
||||||
$invitation->contact_id = $contact->id;
|
$invitation->contact_id = $contact->id;
|
||||||
$invitation->invitation_key = str_random(20);
|
$invitation->invitation_key = str_random(RANDOM_KEY_LENGTH);
|
||||||
$invitation->save();
|
$invitation->save();
|
||||||
}
|
}
|
||||||
else if (!in_array($contact->id, $sendInvoiceIds) && $invitation)
|
else if (!in_array($contact->id, $sendInvoiceIds) && $invitation)
|
||||||
|
@ -68,6 +68,7 @@ class PaymentController extends \BaseController
|
|||||||
'url' => 'payments',
|
'url' => 'payments',
|
||||||
'title' => '- New Payment',
|
'title' => '- New Payment',
|
||||||
'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
|
'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
|
||||||
|
'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
|
||||||
'clients' => Client::scope()->with('contacts')->orderBy('name')->get());
|
'clients' => Client::scope()->with('contacts')->orderBy('name')->get());
|
||||||
|
|
||||||
return View::make('payments.edit', $data);
|
return View::make('payments.edit', $data);
|
||||||
@ -87,6 +88,7 @@ class PaymentController extends \BaseController
|
|||||||
'url' => 'payments/' . $publicId,
|
'url' => 'payments/' . $publicId,
|
||||||
'title' => '- Edit Payment',
|
'title' => '- Edit Payment',
|
||||||
'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
|
'currencies' => Currency::remember(DEFAULT_QUERY_CACHE)->orderBy('name')->get(),
|
||||||
|
'paymentTypes' => PaymentType::remember(DEFAULT_QUERY_CACHE)->orderBy('id')->get(),
|
||||||
'clients' => Client::scope()->with('contacts')->orderBy('name')->get());
|
'clients' => Client::scope()->with('contacts')->orderBy('name')->get());
|
||||||
return View::make('payments.edit', $data);
|
return View::make('payments.edit', $data);
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,8 @@ class ConfideSetupUsersTable extends Migration {
|
|||||||
Schema::dropIfExists('sizes');
|
Schema::dropIfExists('sizes');
|
||||||
Schema::dropIfExists('industries');
|
Schema::dropIfExists('industries');
|
||||||
Schema::dropIfExists('gateways');
|
Schema::dropIfExists('gateways');
|
||||||
|
Schema::dropIfExists('payment_types');
|
||||||
|
|
||||||
Schema::create('countries', function($table)
|
Schema::create('countries', function($table)
|
||||||
{
|
{
|
||||||
$table->increments('id');
|
$table->increments('id');
|
||||||
@ -61,6 +62,12 @@ class ConfideSetupUsersTable extends Migration {
|
|||||||
$t->string('name');
|
$t->string('name');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Schema::create('payment_types', function($t)
|
||||||
|
{
|
||||||
|
$t->increments('id');
|
||||||
|
$t->string('name');
|
||||||
|
});
|
||||||
|
|
||||||
Schema::create('payment_terms', function($t)
|
Schema::create('payment_terms', function($t)
|
||||||
{
|
{
|
||||||
$t->increments('id');
|
$t->increments('id');
|
||||||
@ -433,6 +440,7 @@ class ConfideSetupUsersTable extends Migration {
|
|||||||
$t->unsignedInteger('invitation_id')->nullable();
|
$t->unsignedInteger('invitation_id')->nullable();
|
||||||
$t->unsignedInteger('user_id')->nullable();
|
$t->unsignedInteger('user_id')->nullable();
|
||||||
$t->unsignedInteger('account_gateway_id')->nullable();
|
$t->unsignedInteger('account_gateway_id')->nullable();
|
||||||
|
$t->unsignedInteger('payment_type_id')->nullable();
|
||||||
$t->unsignedInteger('currency_id')->default(1);
|
$t->unsignedInteger('currency_id')->default(1);
|
||||||
$t->timestamps();
|
$t->timestamps();
|
||||||
$t->softDeletes();
|
$t->softDeletes();
|
||||||
@ -450,6 +458,7 @@ class ConfideSetupUsersTable extends Migration {
|
|||||||
$t->foreign('account_gateway_id')->references('id')->on('account_gateways');
|
$t->foreign('account_gateway_id')->references('id')->on('account_gateways');
|
||||||
$t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
|
$t->foreign('user_id')->references('id')->on('users')->onDelete('cascade');;
|
||||||
$t->foreign('currency_id')->references('id')->on('currencies');
|
$t->foreign('currency_id')->references('id')->on('currencies');
|
||||||
|
$t->foreign('payment_type_id')->references('id')->on('payment_types');
|
||||||
|
|
||||||
$t->unsignedInteger('public_id')->index();
|
$t->unsignedInteger('public_id')->index();
|
||||||
$t->unique( array('account_id','public_id') );
|
$t->unique( array('account_id','public_id') );
|
||||||
@ -543,5 +552,6 @@ class ConfideSetupUsersTable extends Migration {
|
|||||||
Schema::dropIfExists('sizes');
|
Schema::dropIfExists('sizes');
|
||||||
Schema::dropIfExists('industries');
|
Schema::dropIfExists('industries');
|
||||||
Schema::dropIfExists('gateways');
|
Schema::dropIfExists('gateways');
|
||||||
|
Schema::dropIfExists('payment_types');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,11 @@ class ConstantsSeeder extends Seeder
|
|||||||
$client->invoices()->save($invoice);
|
$client->invoices()->save($invoice);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
PaymentType::create(array('name' => 'Visa'));
|
||||||
|
PaymentType::create(array('name' => 'MasterCard'));
|
||||||
|
PaymentType::create(array('name' => 'American Express'));
|
||||||
|
PaymentType::create(array('name' => 'Cash'));
|
||||||
|
|
||||||
Theme::create(array('name' => 'amelia'));
|
Theme::create(array('name' => 'amelia'));
|
||||||
Theme::create(array('name' => 'cerulean'));
|
Theme::create(array('name' => 'cerulean'));
|
||||||
Theme::create(array('name' => 'cosmo'));
|
Theme::create(array('name' => 'cosmo'));
|
||||||
|
@ -286,6 +286,12 @@ class Activity extends Eloquent
|
|||||||
|
|
||||||
public static function viewInvoice($invitation)
|
public static function viewInvoice($invitation)
|
||||||
{
|
{
|
||||||
|
if (Session::get($invitation->invitation_key))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Session::put($invitation->invitation_key, true);
|
||||||
|
|
||||||
$invoice = $invitation->invoice;
|
$invoice = $invitation->invoice;
|
||||||
|
|
||||||
if (!$invoice->isViewed())
|
if (!$invoice->isViewed())
|
||||||
|
7
app/models/PaymentType.php
Executable file
7
app/models/PaymentType.php
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class PaymentType extends Eloquent
|
||||||
|
{
|
||||||
|
public $timestamps = false;
|
||||||
|
protected $softDelete = false;
|
||||||
|
}
|
@ -12,9 +12,9 @@ class User extends ConfideUser implements UserInterface, RemindableInterface
|
|||||||
/*
|
/*
|
||||||
'username' => 'required|email|unique:users',
|
'username' => 'required|email|unique:users',
|
||||||
'email' => 'required|email|unique:users',
|
'email' => 'required|email|unique:users',
|
||||||
'password' => 'required|between:4,20|confirmed',
|
|
||||||
'password_confirmation' => 'between:4,20',
|
|
||||||
*/
|
*/
|
||||||
|
'password' => 'required|between:6,20|confirmed',
|
||||||
|
'password_confirmation' => 'between:6,20',
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -11,7 +11,7 @@ class PaymentRepository
|
|||||||
{
|
{
|
||||||
$query = \DB::table('payments')
|
$query = \DB::table('payments')
|
||||||
->join('clients', 'clients.id', '=','payments.client_id')
|
->join('clients', 'clients.id', '=','payments.client_id')
|
||||||
->leftJoin('invoices', 'invoices.id', '=','payments.invoice_id')
|
->join('invoices', 'invoices.id', '=','payments.invoice_id')
|
||||||
->join('contacts', 'contacts.client_id', '=', 'clients.id')
|
->join('contacts', 'contacts.client_id', '=', 'clients.id')
|
||||||
->where('payments.account_id', '=', \Auth::user()->account_id)
|
->where('payments.account_id', '=', \Auth::user()->account_id)
|
||||||
->where('payments.deleted_at', '=', null)
|
->where('payments.deleted_at', '=', null)
|
||||||
@ -49,6 +49,7 @@ class PaymentRepository
|
|||||||
$payment->client_id = Client::getPrivateId($input['client']);
|
$payment->client_id = Client::getPrivateId($input['client']);
|
||||||
$payment->invoice_id = isset($input['invoice']) && $input['invoice'] != "-1" ? Invoice::getPrivateId($input['invoice']) : null;
|
$payment->invoice_id = isset($input['invoice']) && $input['invoice'] != "-1" ? Invoice::getPrivateId($input['invoice']) : null;
|
||||||
$payment->currency_id = $input['currency_id'] ? $input['currency_id'] : null;
|
$payment->currency_id = $input['currency_id'] ? $input['currency_id'] : null;
|
||||||
|
$payment->payment_type_id = $input['payment_type_id'] ? $input['payment_type_id'] : null;
|
||||||
$payment->payment_date = Utils::toSqlDate($input['payment_date']);
|
$payment->payment_date = Utils::toSqlDate($input['payment_date']);
|
||||||
$payment->amount = floatval($input['amount']);
|
$payment->amount = floatval($input['amount']);
|
||||||
$payment->save();
|
$payment->save();
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
//Log::error('test');
|
//Log::error('test');
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
Event::listen('illuminate.query', function($query, $bindings, $time, $name)
|
Event::listen('illuminate.query', function($query, $bindings, $time, $name)
|
||||||
{
|
{
|
||||||
$data = compact('bindings', 'time', 'name');
|
$data = compact('bindings', 'time', 'name');
|
||||||
@ -45,17 +46,9 @@ Event::listen('illuminate.query', function($query, $bindings, $time, $name)
|
|||||||
|
|
||||||
Log::info($query, $data);
|
Log::info($query, $data);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
Route::get('/test', function() {
|
|
||||||
foreach (Invoice::all() as $invoice) {
|
|
||||||
echo $invoice->id . ' ' . $invoice->shouldSendToday() . '<br/>';
|
|
||||||
}
|
|
||||||
dd(true);
|
|
||||||
});
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// TODO_FIX replace with cron
|
// TODO_FIX replace with cron
|
||||||
Route::get('/send_emails', function() {
|
Route::get('/send_emails', function() {
|
||||||
@ -190,6 +183,7 @@ define('ACCOUNT_EXPORT', 'export');
|
|||||||
define('DEFAULT_INVOICE_NUMBER', '0001');
|
define('DEFAULT_INVOICE_NUMBER', '0001');
|
||||||
define('RECENTLY_VIEWED_LIMIT', 8);
|
define('RECENTLY_VIEWED_LIMIT', 8);
|
||||||
define('LOGGED_ERROR_LIMIT', 100);
|
define('LOGGED_ERROR_LIMIT', 100);
|
||||||
|
define('RANDOM_KEY_LENGTH', 32);
|
||||||
|
|
||||||
define('INVOICE_STATUS_DRAFT', 1);
|
define('INVOICE_STATUS_DRAFT', 1);
|
||||||
define('INVOICE_STATUS_SENT', 2);
|
define('INVOICE_STATUS_SENT', 2);
|
||||||
|
@ -189,7 +189,8 @@
|
|||||||
<h4 class="modal-title" id="myModalLabel">Sign up</h4>
|
<h4 class="modal-title" id="myModalLabel">Sign up</h4>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="padding-right:20px" id="signUpDiv" onkeyup="validateSignUp()" onkeydown="checkForEnter(event)">
|
<div style="background-color: #EEEEEE; padding-right:20px" id="signUpDiv" onkeyup="validateSignUp()" onkeydown="checkForEnter(event)">
|
||||||
|
<br/>
|
||||||
|
|
||||||
{{ Former::open('signup/submit')->addClass('signUpForm') }}
|
{{ Former::open('signup/submit')->addClass('signUpForm') }}
|
||||||
|
|
||||||
@ -205,6 +206,7 @@
|
|||||||
{{ Former::password('new_password')->label('Password') }}
|
{{ Former::password('new_password')->label('Password') }}
|
||||||
{{ Former::close() }}
|
{{ Former::close() }}
|
||||||
<center><div id="errorTaken" style="display:none"> <br/>The email address is already regiestered</div></center>
|
<center><div id="errorTaken" style="display:none"> <br/>The email address is already regiestered</div></center>
|
||||||
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="padding-left:40px;padding-right:40px;display:none;min-height:130px" id="working">
|
<div style="padding-left:40px;padding-right:40px;display:none;min-height:130px" id="working">
|
||||||
@ -214,7 +216,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal-footer" id="signUpFooter">
|
<div class="modal-footer" id="signUpFooter" style="margin-top: 0px">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
||||||
<button type="button" class="btn btn-primary" onclick="submitSignUp()">Save</button>
|
<button type="button" class="btn btn-primary" onclick="submitSignUp()">Save</button>
|
||||||
</div>
|
</div>
|
||||||
|
@ -406,11 +406,13 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div style="background-color: #EEEEEE; padding-left: 16px; padding-right: 16px">
|
<div style="background-color: #EEEEEE; padding-left: 16px; padding-right: 16px">
|
||||||
|
<br/>
|
||||||
@if (Auth::user()->registered)
|
@if (Auth::user()->registered)
|
||||||
<p>Please confirm your account to email an invoice.</p>
|
Please confirm your account to email an invoice.
|
||||||
@else
|
@else
|
||||||
<p>Please sign up to email an invoice.</p>
|
Please sign up to email an invoice.
|
||||||
@endif
|
@endif
|
||||||
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="modal-footer" style="margin-top: 0px">
|
<div class="modal-footer" style="margin-top: 0px">
|
||||||
|
@ -26,6 +26,8 @@
|
|||||||
{{ Former::select('client')->addOption('', '')->addGroupClass('client-select') }}
|
{{ Former::select('client')->addOption('', '')->addGroupClass('client-select') }}
|
||||||
{{ Former::select('invoice')->addOption('', '')->addGroupClass('invoice-select') }}
|
{{ Former::select('invoice')->addOption('', '')->addGroupClass('invoice-select') }}
|
||||||
{{ Former::text('amount') }}
|
{{ Former::text('amount') }}
|
||||||
|
{{ Former::select('payment_type_id')->addOption('','')->label('Payment type')
|
||||||
|
->fromQuery($paymentTypes, 'name', 'id') }}
|
||||||
{{ Former::text('payment_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT)) }}
|
{{ Former::text('payment_date')->data_date_format(Session::get(SESSION_DATE_PICKER_FORMAT)) }}
|
||||||
{{ Former::select('currency_id')->addOption('','')->label('Currency')
|
{{ Former::select('currency_id')->addOption('','')->label('Currency')
|
||||||
->fromQuery($currencies, 'name', 'id')->select(Session::get(SESSION_CURRENCY, DEFAULT_CURRENCY)) }}
|
->fromQuery($currencies, 'name', 'id')->select(Session::get(SESSION_CURRENCY, DEFAULT_CURRENCY)) }}
|
||||||
|
@ -50,7 +50,11 @@
|
|||||||
@section('body')
|
@section('body')
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
{{ Former::open('user/reset')->addClass('form-signin') }}
|
{{ Former::open('user/reset')->addClass('form-signin')->rules(array(
|
||||||
|
'password' => 'required',
|
||||||
|
'password_confirmation' => 'required',
|
||||||
|
)); }}
|
||||||
|
|
||||||
<h2 class="form-signin-heading">Passord Reset</h2>
|
<h2 class="form-signin-heading">Passord Reset</h2>
|
||||||
<input type="hidden" name="token" value="{{{ $token }}}">
|
<input type="hidden" name="token" value="{{{ $token }}}">
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user