fix(Setup): fix seed setup settings to the storage.

This commit is contained in:
a.bouhuolia
2021-03-21 16:26:26 +02:00
parent 54958eb18b
commit ad50da4214
7 changed files with 47 additions and 23 deletions

View File

@@ -11,17 +11,17 @@ exports.up = (knex) => {
// Inserts seed entries // Inserts seed entries
return knex('views').insert([ return knex('views').insert([
// Accounts. // Accounts.
{ id: 15, name: i18n.__('Inactive'), roles_logic_expression: '1', resource_model: 'Account', predefined: true }, { id: 15, name: i18n.__('Inactive'), slug: '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: 1, name: i18n.__('Assets'), slug: 'assets', roles_logic_expression: '1', resource_model: 'Account', predefined: true },
{ id: 2, name: i18n.__('Liabilities'), roles_logic_expression: '1', resource_model: 'Account', predefined: true }, { id: 2, name: i18n.__('Liabilities'), slug: 'liabilities', roles_logic_expression: '1', resource_model: 'Account', predefined: true },
{ id: 3, name: i18n.__('Equity'), roles_logic_expression: '1', resource_model: 'Account', predefined: true }, { id: 3, name: i18n.__('Equity'), slug: 'equity', roles_logic_expression: '1', resource_model: 'Account', predefined: true },
{ id: 4, name: i18n.__('Income'), roles_logic_expression: '1', resource_model: 'Account', predefined: true }, { id: 4, name: i18n.__('Income'), slug: 'income', roles_logic_expression: '1', resource_model: 'Account', predefined: true },
{ id: 5, name: i18n.__('Expenses'), roles_logic_expression: '1', resource_model: 'Account', predefined: true }, { id: 5, name: i18n.__('Expenses'), slug: '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: 6, name: i18n.__('Services'), slug: '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: 7, name: i18n.__('Inventory'), slug: '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 }, { id: 8, name: i18n.__('Non-Inventory'), slug: 'non-inventory', roles_logic_expression: '1', resource_model: 'Item', predefined: true },
// Manual Journals // Manual Journals
{ id: 9, name: i18n.__('Journal'), roles_logic_expression: '1', resource_model: 'ManualJournal', predefined: true }, { id: 9, name: i18n.__('Journal'), roles_logic_expression: '1', resource_model: 'ManualJournal', predefined: true },
@@ -29,9 +29,8 @@ exports.up = (knex) => {
{ id: 11, name: i18n.__('Reconciliation'), 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: 12, name: i18n.__('Draft'), slug: 'draft', roles_logic_expression: '1', resource_model: 'Expense', predefined: true, },
{ id: 13, name: i18n.__('Depreciation'), roles_logic_expression: '1', resource_model: 'Expense', predefined: false, }, { id: 13, name: i18n.__('Published'), slug: 'published', roles_logic_expression: '1', resource_model: 'Expense', predefined: true, },
{ id: 14, name: i18n.__('Payroll'), roles_logic_expression: '1', resource_model: 'Expense', predefined: false },
// Sales invoices. // Sales invoices.
{ id: 16, name: 'Draft', slug: 'draft', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true, }, { id: 16, name: 'Draft', slug: 'draft', roles_logic_expression: '1', resource_model: 'SaleInvoice', predefined: true, },

View File

@@ -18,6 +18,10 @@ exports.up = (knex) => {
{ field_key: 'type', index: 1, comparator: 'equals', value: 'inventory', view_id: 7 }, { 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 }, { field_key: 'type', index: 1, comparator: 'equals', value: 'non-inventory', view_id: 8 },
// Expenses.
{ field_key: 'status', index: 1, comparator: 'equals', value: 'draft', view_id: 12 },
{ field_key: 'status', index: 1, comparator: 'equals', value: 'published', view_id: 13 },
// Manual Journals. // Manual Journals.
{ field_key: 'journal_type', index: 1, comparator: 'equals', value: 'Journal', view_id: 9 }, { 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: 'CreditNote', view_id: 10 },

View File

@@ -104,7 +104,7 @@ export default class MetableStore implements IMetableStore {
const metadata = query; const metadata = query;
metadata.forEach((meta: IMetadata) => { metadata.forEach((meta: IMetadata) => {
this.set(meta.key, meta.value); this.set(meta);
}); });
return; return;
} }

View File

@@ -79,6 +79,14 @@ export default class Expense extends TenantModel {
viewRolesBuilder(query, conditionals, expression) { viewRolesBuilder(query, conditionals, expression) {
viewRolesBuilder(conditionals, expression)(query); viewRolesBuilder(conditionals, expression)(query);
}, },
filterByDraft(query) {
query.where('published_at', null);
},
filterByPublished(query) {
query.whereNot('published_at', null);
},
}; };
} }
@@ -165,6 +173,26 @@ export default class Expense extends TenantModel {
label: "Published", label: "Published",
column: "published_at", column: "published_at",
}, },
status: {
label: 'Status',
options: [
{ key: 'draft', label: 'Draft' },
{ key: 'published', label: 'Published' },
],
query: (query, role) => {
switch (role.value) {
case 'draft':
query.modify('filterByDraft');
break;
case 'published':
query.modify('filterByPublished');
break;
}
},
sortQuery(query, role) {
query.modify('sortByStatus', role.order);
},
},
created_at: { created_at: {
label: "Created at", label: "Created at",
column: "created_at", column: "created_at",

View File

@@ -566,6 +566,7 @@ export default class ItemsService implements IItemsService {
dynamicFilter.buildQuery()(builder); dynamicFilter.buildQuery()(builder);
}) })
.pagination(itemsFilter.page - 1, itemsFilter.pageSize); .pagination(itemsFilter.page - 1, itemsFilter.pageSize);
return { return {
items: results, items: results,
pagination, pagination,

View File

@@ -52,9 +52,8 @@ export default class SetupService {
const settings = this.tenancy.settings(tenantId); const settings = this.tenancy.settings(tenantId);
// Can't continue if app is already configured. // Can't continue if app is already configured.
if (settings.get('app_configured')) { if (settings.get('app_configured')) { return; }
return;
}
settings.set([ settings.set([
...this.transformSetupDTOToOptions(organizationSetupDTO) ...this.transformSetupDTOToOptions(organizationSetupDTO)
.filter((option) => typeof option.value !== 'undefined') .filter((option) => typeof option.value !== 'undefined')

View File

@@ -11,12 +11,9 @@ exports.seed = (knex) => {
price: 0, price: 0,
active: true, active: true,
currency: 'LYD', currency: 'LYD',
trial_period: 7, trial_period: 7,
trial_interval: 'days', trial_interval: 'days',
index: 1, index: 1,
voucher_required: true,
}, },
{ {
name: 'Starter', name: 'Starter',
@@ -24,10 +21,8 @@ exports.seed = (knex) => {
price: 500, price: 500,
active: true, active: true,
currency: 'LYD', currency: 'LYD',
invoice_period: 12, invoice_period: 12,
invoice_interval: 'month', invoice_interval: 'month',
index: 2, index: 2,
}, },
{ {
@@ -36,10 +31,8 @@ exports.seed = (knex) => {
price: 1000, price: 1000,
active: true, active: true,
currency: 'LYD', currency: 'LYD',
invoice_period: 12, invoice_period: 12,
invoice_interval: 'month', invoice_interval: 'month',
index: 3, index: 3,
}, },
]); ]);