mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-18 05:40:31 +00:00
feat: closed sale receipt status.
feat: approve and reject sale estimate. feat: initial receipts, invoices, estimates and bills views.
This commit is contained in:
@@ -3,6 +3,7 @@ exports.up = function (knex) {
|
||||
return knex.schema.createTable('views', (table) => {
|
||||
table.increments();
|
||||
table.string('name').index();
|
||||
table.string('slug').index();
|
||||
table.boolean('predefined');
|
||||
table.string('resource_model').index();
|
||||
table.boolean('favourite');
|
||||
|
||||
@@ -14,6 +14,9 @@ exports.up = function(knex) {
|
||||
table.text('send_to_email');
|
||||
|
||||
table.date('delivered_at').index();
|
||||
table.date('approved_at').index();
|
||||
table.date('rejected_at').index();
|
||||
|
||||
table.integer('user_id').unsigned().index();
|
||||
|
||||
table.integer('converted_to_invoice_id').unsigned();
|
||||
|
||||
@@ -6,11 +6,12 @@ exports.up = function(knex) {
|
||||
table.integer('deposit_account_id').unsigned().index().references('id').inTable('accounts');
|
||||
table.integer('customer_id').unsigned().index().references('id').inTable('contacts');
|
||||
table.date('receipt_date').index();
|
||||
table.string('receipt_number');
|
||||
table.string('reference_no');
|
||||
table.string('receipt_number').index();
|
||||
table.string('reference_no').index();
|
||||
table.string('send_to_email');
|
||||
table.text('receipt_message');
|
||||
table.text('statement');
|
||||
table.date('closed_at').index();
|
||||
table.timestamps();
|
||||
})
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@ exports.up = (knex) => {
|
||||
.then(() => {
|
||||
// Inserts seed entries
|
||||
return knex('views').insert([
|
||||
// Accounts
|
||||
// Accounts.
|
||||
{ id: 15, name: i18n.__('Inactive'), roles_logic_expression: '1', resource_model: 'Account', predefined: true },
|
||||
{ id: 1, name: i18n.__('Assets'), roles_logic_expression: '1', resource_model: 'Account', predefined: true },
|
||||
{ id: 2, name: i18n.__('Liabilities'), roles_logic_expression: '1', resource_model: 'Account', predefined: true },
|
||||
@@ -18,7 +18,7 @@ exports.up = (knex) => {
|
||||
{ id: 4, name: i18n.__('Income'), roles_logic_expression: '1', resource_model: 'Account', predefined: true },
|
||||
{ id: 5, name: i18n.__('Expenses'), roles_logic_expression: '1', resource_model: 'Account', predefined: true },
|
||||
|
||||
// Items
|
||||
// Items.
|
||||
{ id: 6, name: i18n.__('Services'), roles_logic_expression: '1', resource_model: 'Item', predefined: true },
|
||||
{ id: 7, name: i18n.__('Inventory'), roles_logic_expression: '1', resource_model: 'Item', predefined: true },
|
||||
{ id: 8, name: i18n.__('Non-Inventory'), roles_logic_expression: '1', resource_model: 'Item', predefined: true },
|
||||
@@ -28,10 +28,34 @@ exports.up = (knex) => {
|
||||
{ id: 10, name: i18n.__('Credit'), roles_logic_expression: '1', resource_model: 'ManualJournal', predefined: true },
|
||||
{ id: 11, name: i18n.__('Reconciliation'), roles_logic_expression: '1', resource_model: 'ManualJournal', predefined: true },
|
||||
|
||||
// Expenses
|
||||
// Expenses.
|
||||
{ id: 12, name: i18n.__('Interest'), roles_logic_expression: '1', resource_model: 'Expense', predefined: false, },
|
||||
{ id: 13, name: i18n.__('Depreciation'), roles_logic_expression: '1', resource_model: 'Expense', predefined: false, },
|
||||
{ id: 14, name: i18n.__('Payroll'), roles_logic_expression: '1', resource_model: 'Expense', predefined: false },
|
||||
|
||||
// Sales invoices.
|
||||
{ id: 16, name: 'Draft', slug: 'draft', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true, },
|
||||
{ id: 17, name: 'Delivered', slug: 'delivered', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true },
|
||||
{ id: 18, name: 'Unpaid', slug: 'unpaid', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true },
|
||||
{ id: 19, name: 'Overdue', slug: 'overdue', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true },
|
||||
{ id: 20, name: 'Partially paid', slug: 'partially-paid', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true },
|
||||
{ id: 21, name: 'Paid', slug: 'paid', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true },
|
||||
|
||||
// Bills.
|
||||
{ id: 22, name: 'Draft', slug: 'draft', roles_logic_expression: '1', resource_model: 'Bill', predefined: true, },
|
||||
{ id: 23, name: 'Opened', slug: 'opened', roles_logic_expression: '1', resource_model: 'Bill', predefined: true },
|
||||
{ id: 24, name: 'Unpaid', slug: 'unpaid', roles_logic_expression: '1', resource_model: 'Bill', predefined: true },
|
||||
{ id: 25, name: 'Overdue', slug: 'overdue', roles_logic_expression: '1', resource_model: 'Bill', predefined: true },
|
||||
{ id: 26, name: 'Partially paid', slug: 'partially-paid', roles_logic_expression: '1', resource_model: 'Bill', predefined: true },
|
||||
{ id: 27, name: 'Paid', slug: 'paid', roles_logic_expression: '1', resource_model: 'Bill', predefined: true },
|
||||
|
||||
// Sale estimate.
|
||||
{ id: 28, name: 'Draft', slug: 'draft', roles_logic_expression: '1', resource_model: 'SaleEstimate', predefined: true },
|
||||
{ id: 29, name: 'Delivered', slug: 'delivered', roles_logic_expression: '1', resource_model: 'SaleEstimate', predefined: true },
|
||||
{ id: 30, name: 'Approved', slug: 'approved', roles_logic_expression: '1', resource_model: 'SaleEstimate', predefined: true },
|
||||
{ id: 31, name: 'Rejected', slug: 'rejected', roles_logic_expression: '1', resource_model: 'SaleEstimate', predefined: true },
|
||||
{ id: 32, name: 'Invoiced', slug: 'invoiced', roles_logic_expression: '1', resource_model: 'SaleEstimate', predefined: true },
|
||||
{ id: 33, name: 'Expired', slug: 'expired', roles_logic_expression: '1', resource_model: 'SaleEstimate', predefined: true },
|
||||
]);
|
||||
});
|
||||
};
|
||||
|
||||
@@ -6,22 +6,46 @@ exports.up = (knex) => {
|
||||
// Inserts seed entries
|
||||
return knex('view_roles').insert([
|
||||
// Accounts
|
||||
{ id: 1, field_key: 'type', index: 1, comparator: 'equals', value: 'asset', view_id: 1 },
|
||||
{ id: 2, field_key: 'type', index: 1, comparator: 'equals', value: 'liability', view_id: 2 },
|
||||
{ id: 3, field_key: 'type', index: 1, comparator: 'equals', value: 'equity', view_id: 3 },
|
||||
{ id: 4, field_key: 'type', index: 1, comparator: 'equals', value: 'income', view_id: 4 },
|
||||
{ id: 5, field_key: 'type', index: 1, comparator: 'equals', value: 'expense', view_id: 5 },
|
||||
{ id: 12, field_key: 'active', index: 1, comparator: 'is', value: 1, view_id: 15 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'asset', view_id: 1 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'liability', view_id: 2 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'equity', view_id: 3 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'income', view_id: 4 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'expense', view_id: 5 },
|
||||
{ field_key: 'active', index: 1, comparator: 'is', value: 1, view_id: 15 },
|
||||
|
||||
// Items.
|
||||
{ id: 6, field_key: 'type', index: 1, comparator: 'equals', value: 'service', view_id: 6 },
|
||||
{ id: 7, field_key: 'type', index: 1, comparator: 'equals', value: 'inventory', view_id: 7 },
|
||||
{ id: 8, field_key: 'type', index: 1, comparator: 'equals', value: 'non-inventory', view_id: 8 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'service', view_id: 6 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'inventory', view_id: 7 },
|
||||
{ field_key: 'type', index: 1, comparator: 'equals', value: 'non-inventory', view_id: 8 },
|
||||
|
||||
// Manual Journals.
|
||||
{ id: 9, field_key: 'journal_type', index: 1, comparator: 'equals', value: 'Journal', view_id: 9 },
|
||||
{ id: 10, field_key: 'journal_type', index: 1, comparator: 'equals', value: 'CreditNote', view_id: 10 },
|
||||
{ id: 11, field_key: 'journal_type', index: 1, comparator: 'equals', value: 'Reconciliation', view_id: 11 },
|
||||
{ field_key: 'journal_type', index: 1, comparator: 'equals', value: 'Journal', view_id: 9 },
|
||||
{ field_key: 'journal_type', index: 1, comparator: 'equals', value: 'CreditNote', view_id: 10 },
|
||||
{ field_key: 'journal_type', index: 1, comparator: 'equals', value: 'Reconciliation', view_id: 11 },
|
||||
|
||||
// Sale invoice.
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'draft', view_id: 16 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'delivered', view_id: 17 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'unpaid', view_id: 18 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'overdue', view_id: 19 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'partially-paid', view_id: 20 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'paid', view_id: 21 },
|
||||
|
||||
// Bills
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'draft', view_id: 22 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'opened', view_id: 23 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'unpaid', view_id: 24 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'overdue', view_id: 25 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'partially-paid', view_id: 26 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'paid', view_id: 27 },
|
||||
|
||||
// Sale estimates
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'draft', view_id: 28 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'delivered', view_id: 29 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'approved', view_id: 30 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'rejected', view_id: 31 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'invoiced', view_id: 32 },
|
||||
{ field_key: 'status', index: 1, comparator: 'is', value: 'expired', view_id: 33 },
|
||||
]);
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user