mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-08 00:44:31 -04:00
bug fixes
This commit is contained in:
parent
19e95c854c
commit
8691d0ec26
@ -494,10 +494,10 @@ class AccountController extends \BaseController {
|
||||
}
|
||||
|
||||
$user = Auth::user();
|
||||
$user->first_name = trim(Input::get('first_name'));
|
||||
$user->last_name = trim(Input::get('last_name'));
|
||||
$user->email = trim(Input::get('email'));
|
||||
$user->password = trim(Input::get('password'));
|
||||
$user->first_name = trim(Input::get('new_first_name'));
|
||||
$user->last_name = trim(Input::get('new_last_name'));
|
||||
$user->email = trim(Input::get('new_email'));
|
||||
$user->password = trim(Input::get('new_password'));
|
||||
$user->registered = true;
|
||||
$user->save();
|
||||
|
||||
|
@ -7,7 +7,7 @@ class ActivityController extends \BaseController {
|
||||
$clientId = Client::getPrivateId($clientPublicId);
|
||||
|
||||
return Datatable::collection(Activity::scope()->where('client_id','=',$clientId)->get())
|
||||
->addColumn('date', function($model) { return Utils::timestampToDateTimeString($model->created_at); })
|
||||
->addColumn('date', function($model) { return Utils::timestampToDateTimeString(strtotime($model->created_at)); })
|
||||
->addColumn('message', function($model) { return $model->message; })
|
||||
->addColumn('balance', function($model) { return '$' . $model->balance; })
|
||||
->orderColumns('date')
|
||||
|
@ -54,7 +54,7 @@
|
||||
{{ Former::text('end_date')->data_bind("value: end_date, valueUpdate: 'afterkeydown'") }}
|
||||
</div>
|
||||
<div data-bind="visible: invoice_status_id() < CONSTS.INVOICE_STATUS_SENT">
|
||||
{{ Former::checkbox('recurring')->text('Enable | <a href="#">Learn more</a>')->data_bind("checked: is_recurring")
|
||||
{{ Former::checkbox('recurring')->text('Enable | <a href="#" rel="tooltip" data-toggle="tooltip" title="Recurring invoices are automatically sent. Use :MONTH, :QUARTER or :YEAR for dynamic dates. Basic math works as well. ie, :MONTH-1.">Learn more</a>')->data_bind("checked: is_recurring")
|
||||
->inlineHelp($invoice && $invoice->last_sent_date ? 'Last invoice sent ' . Utils::timestampToDateString($invoice->last_sent_date) : '') }}
|
||||
</div>
|
||||
@if ($invoice && $invoice->recurring_invoice_id)
|
||||
@ -68,6 +68,7 @@
|
||||
<div class="col-md-3" id="col_2">
|
||||
{{ Former::text('po_number')->label('PO number')->data_bind("value: po_number, valueUpdate: 'afterkeydown'") }}
|
||||
{{ Former::text('discount')->data_bind("value: discount, valueUpdate: 'afterkeydown'") }}
|
||||
{{ Former::text('currency')->data_bind("value: discount, valueUpdate: 'afterkeydown'") }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -208,8 +209,8 @@
|
||||
{{ 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('','')->label('Country')
|
||||
->fromQuery($countries, 'name', 'id')->data_bind("value: country_id") }}
|
||||
{{ Former::select('country_id')->addOption('','')->label('Country')->addGroupClass('country_select')
|
||||
->fromQuery($countries, 'name', 'id')->data_bind("dropdown: country_id") }}
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
@ -237,9 +238,9 @@
|
||||
</div>
|
||||
|
||||
{{ Former::legend('Additional Info') }}
|
||||
{{ Former::select('client_size_id')->addOption('','')->label('Size')
|
||||
{{ Former::select('client_size_id')->addOption('','')->label('Size')->data_bind('value: client_size_id')
|
||||
->fromQuery($clientSizes, 'name', 'id')->select($client ? $client->client_size_id : '') }}
|
||||
{{ Former::select('client_industry_id')->addOption('','')->label('Industry')
|
||||
{{ Former::select('client_industry_id')->addOption('','')->label('Industry')->data_bind('value: client_industry_id')
|
||||
->fromQuery($clientIndustries, 'name', 'id')->select($client ? $client->client_industry_id : '') }}
|
||||
{{ Former::textarea('notes') }}
|
||||
|
||||
@ -267,6 +268,7 @@
|
||||
$('form').change(refreshPDF);
|
||||
|
||||
$('#country_id').combobox();
|
||||
$('[rel=tooltip]').tooltip();
|
||||
|
||||
$('#invoice_date').datepicker({
|
||||
autoclose: true,
|
||||
@ -289,6 +291,13 @@
|
||||
}
|
||||
}).trigger('change');
|
||||
|
||||
|
||||
$('.country_select input.form-control').on('change', function(e) {
|
||||
var countryId = parseInt($('input[name=country_id]').val(), 10);
|
||||
model.client.country_id(countryId);
|
||||
});
|
||||
|
||||
|
||||
@if ($client)
|
||||
$('#invoice_number').focus();
|
||||
@else
|
||||
|
182
public/css/style.css
Normal file
182
public/css/style.css
Normal file
@ -0,0 +1,182 @@
|
||||
/*
|
||||
body > div.container {
|
||||
min-height: 600px;
|
||||
}
|
||||
*/
|
||||
|
||||
label.checkbox,
|
||||
label.control-label {
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
div.panel {
|
||||
padding-left: 0px !important;
|
||||
padding-right: 0px !important;
|
||||
}
|
||||
|
||||
.form-actions {
|
||||
margin: 0;
|
||||
background-color: transparent;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/*
|
||||
.form-horizontal {
|
||||
max-width: 750px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
.form-group {
|
||||
width: 50%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
*/
|
||||
|
||||
/* DataTables and BootStrap */
|
||||
.dataTables_wrapper {
|
||||
padding-top: 16px;
|
||||
}
|
||||
|
||||
table.table thead > tr > th {
|
||||
border-bottom-width: 0px;
|
||||
}
|
||||
|
||||
#DataTables_Table_0_length label {
|
||||
font-weight: normal;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
div.dataTables_paginate.paging_bootstrap {
|
||||
margin-top: -30px;
|
||||
}
|
||||
|
||||
/*
|
||||
table.table tbody tr.odd {
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
|
||||
table.table tbody tr:hover {
|
||||
background-color: #f0f0f0 !important;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/* table sorting indicators */
|
||||
/*table.table thead .sorting { background: url('images/sort_both.png') no-repeat center right; }*/
|
||||
/*
|
||||
table.table thead .sorting,
|
||||
table.table thead .sorting_asc,
|
||||
table.table thead .sorting_desc,
|
||||
table.table thead .sorting_asc_disabled,
|
||||
table.table thead .sorting_desc_disabled {
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
table.table thead .sorting_asc { background: url('images/sort_asc.png') no-repeat center right; }
|
||||
table.table thead .sorting_desc { background: url('images/sort_desc.png') no-repeat center right; }
|
||||
|
||||
|
||||
table.table thead .sorting_asc_disabled { background: url('images/sort_asc_disabled.png') no-repeat center right; }
|
||||
table.table thead .sorting_desc_disabled { background: url('images/sort_desc_disabled.png') no-repeat center right; }
|
||||
*/
|
||||
|
||||
|
||||
/* Hover nav */
|
||||
.sidebar-nav {
|
||||
padding: 9px 0;
|
||||
}
|
||||
|
||||
.dropdown-menu .sub-menu {
|
||||
left: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
visibility: hidden;
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
.dropdown-menu li:hover .sub-menu {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
.dropdown:hover .dropdown-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu, .navbar .dropdown-menu {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.navbar .sub-menu:before {
|
||||
border-bottom: 7px solid transparent;
|
||||
border-left: none;
|
||||
border-right: 7px solid rgba(0, 0, 0, 0.2);
|
||||
border-top: 7px solid transparent;
|
||||
left: -7px;
|
||||
top: 10px;
|
||||
}
|
||||
.navbar .sub-menu:after {
|
||||
border-top: 6px solid transparent;
|
||||
border-left: none;
|
||||
border-right: 6px solid #fff;
|
||||
border-bottom: 6px solid transparent;
|
||||
left: 10px;
|
||||
top: 11px;
|
||||
left: -6px;
|
||||
}
|
||||
|
||||
|
||||
.invoice-table {
|
||||
border-style: none !important;
|
||||
}
|
||||
|
||||
/*
|
||||
table.invoice-table tbody tr:hover {
|
||||
background-color: #FFFFFF !important;
|
||||
}
|
||||
*/
|
||||
|
||||
.invoice-table td {
|
||||
padding: 2px !important;
|
||||
}
|
||||
|
||||
.invoice-table td input,
|
||||
.invoice-table td textarea {
|
||||
border: none !important;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.invoice-table th {
|
||||
border-top: 1px solid #ddd !important;
|
||||
}
|
||||
|
||||
.invoice-table td.hide-border,
|
||||
.invoice-table th.hide-border {
|
||||
border-style: none !important;
|
||||
}
|
||||
|
||||
.invoice-table td.td-icon {
|
||||
vertical-align: middle !important;
|
||||
}
|
||||
|
||||
.fa-bars {
|
||||
cursor: move !important;
|
||||
}
|
||||
|
||||
.closer-row {
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
|
||||
/* Animate col width changes */
|
||||
.row div {
|
||||
-webkit-transition: width 0.5s ease, margin 0.5s ease;
|
||||
-moz-transition: width 0.5s ease, margin 0.5s ease;
|
||||
-o-transition: width 0.5s ease, margin 0.5s ease;
|
||||
transition: width 0.5s ease, margin 0.5s ease;
|
||||
}
|
@ -108,7 +108,7 @@ function generatePDF(invoice) {
|
||||
var productKey = item.product_key;
|
||||
|
||||
// show at most one blank line
|
||||
if (shownItem && !cost && !qty && !notes && !productKey) {
|
||||
if (shownItem && (!cost || cost == '0.00') && !qty && !notes && !productKey) {
|
||||
continue;
|
||||
}
|
||||
shownItem = true;
|
||||
@ -579,7 +579,7 @@ ko.bindingHandlers.dropdown = {
|
||||
init: function (element, valueAccessor, allBindingsAccessor) {
|
||||
var options = allBindingsAccessor().dropdownOptions|| {};
|
||||
var value = ko.utils.unwrapObservable(valueAccessor());
|
||||
var id = (value && value.public_id) ? value.public_id() : (value && value.id) ? value.id() : false;
|
||||
var id = (value && value.public_id) ? value.public_id() : (value && value.id) ? value.id() : value ? value : false;
|
||||
if (id) $(element).val(id);
|
||||
console.log("combo-init: %s", id);
|
||||
$(element).combobox(options);
|
||||
@ -595,7 +595,7 @@ ko.bindingHandlers.dropdown = {
|
||||
},
|
||||
update: function (element, valueAccessor) {
|
||||
var value = ko.utils.unwrapObservable(valueAccessor());
|
||||
var id = (value && value.public_id) ? value.public_id() : (value && value.id) ? value.id() : false;
|
||||
var id = (value && value.public_id) ? value.public_id() : (value && value.id) ? value.id() : value ? value : false;
|
||||
console.log("combo-update: %s", id);
|
||||
if (id) $(element).val(id);
|
||||
$(element).combobox('refresh');
|
||||
|
Loading…
x
Reference in New Issue
Block a user