From bd2ce7ccee0e0112eac215bf48236e7224b5f68d Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Sat, 17 Oct 2020 19:11:51 +0200 Subject: [PATCH] feat: add models fields labels. --- server/src/api/controllers/Items.ts | 3 +-- server/src/data/options.js | 10 ++++++++++ server/src/locales/en.json | 26 +++++++++++++++++++++++++- server/src/models/Expense.js | 9 +++++++++ server/src/models/Item.js | 21 ++++++++++++++++++++- server/src/models/ItemCategory.js | 12 ++++++++++++ server/src/models/ManualJournal.js | 12 +++++++++--- 7 files changed, 86 insertions(+), 7 deletions(-) diff --git a/server/src/api/controllers/Items.ts b/server/src/api/controllers/Items.ts index a063f01ac..f6a550f45 100644 --- a/server/src/api/controllers/Items.ts +++ b/server/src/api/controllers/Items.ts @@ -1,13 +1,12 @@ import { Inject, Service } from 'typedi'; import { Router, Request, Response, NextFunction } from 'express'; -import { check, param, query, ValidationChain, matchedData } from 'express-validator'; +import { check, param, query, ValidationChain } from 'express-validator'; import asyncMiddleware from 'api/middleware/asyncMiddleware'; import ItemsService from 'services/Items/ItemsService'; import BaseController from 'api/controllers/BaseController'; import DynamicListingService from 'services/DynamicListing/DynamicListService'; import { ServiceError } from 'exceptions'; import { IItemDTO } from 'interfaces'; -import { Request } from 'express-validator/src/base'; @Service() export default class ItemsController extends BaseController { diff --git a/server/src/data/options.js b/server/src/data/options.js index 727bce956..8d0de2f9d 100644 --- a/server/src/data/options.js +++ b/server/src/data/options.js @@ -45,4 +45,14 @@ export default { // config: true, }, ], + manual_journals: [ + { + key: 'journal_number_next', + type: 'number', + }, + { + key: 'journal_number_prefix', + type: 'string', + }, + ] }; \ No newline at end of file diff --git a/server/src/locales/en.json b/server/src/locales/en.json index 332cd9a10..604e707b1 100644 --- a/server/src/locales/en.json +++ b/server/src/locales/en.json @@ -43,5 +43,29 @@ "Credit": "Credit", "Interest": "Interest", "Depreciation": "Depreciation", - "Payroll": "Payroll" + "Payroll": "Payroll", + "Type": "Type", + "Name": "Name", + "Sellable": "Sellable", + "Purchasable": "Purchasable", + "Sell price": "Sell price", + "Cost price": "Cost price", + "User": "User", + "Category": "Category", + "Note": "Note", + "Quantity on hand": "Quantity on hand", + "Purchase description": "Purchase description", + "Sell description": "Sell description", + "Sell account": "Sell account", + "Cost account": "Cost account", + "Inventory account": "Inventory account", + "Payment date": "Payment date", + "Payment account": "Payment account", + "Amount": "Amount", + "Reference No.": "Reference No.", + "Published": "Published", + "Journal number": "Journal number", + "Status": "Status", + "Journal type": "Journal type", + "Date": "Date" } \ No newline at end of file diff --git a/server/src/models/Expense.js b/server/src/models/Expense.js index b5294f8ec..6dff86b66 100644 --- a/server/src/models/Expense.js +++ b/server/src/models/Expense.js @@ -125,33 +125,42 @@ export default class Expense extends TenantModel { static get fields() { return { payment_date: { + label: 'Payment date', column: 'payment_date', }, payment_account: { + label: 'Payment account', column: 'payment_account_id', relation: 'accounts.id', }, amount: { + label: 'Amount', column: 'total_amount', }, currency_code: { + label: 'Currency', column: 'currency_code', }, reference_no: { + label: 'Reference No.', column: 'reference_no' }, description: { + label: 'Description', column: 'description', }, published: { + label: 'Published', column: 'published', }, user: { + label: 'User', column: 'user_id', relation: 'users.id', relationColumn: 'users.id', }, created_at: { + label: 'Created at', column: 'created_at', }, }; diff --git a/server/src/models/Item.js b/server/src/models/Item.js index 34a61e6e0..7e23db72f 100644 --- a/server/src/models/Item.js +++ b/server/src/models/Item.js @@ -103,64 +103,83 @@ export default class Item extends TenantModel { }; } - + /** + * Item fields. + */ static get fields() { return { type: { + label: 'Type', column: 'type', }, name: { + label: 'Name', column: 'name', }, sellable: { + label: 'Sellable', column: 'sellable', }, purchasable: { + label: 'Purchasable', column: 'purchasable', }, sell_price: { + label: 'Sell price', column: 'sell_price' }, cost_price: { + label: 'Cost price', column: 'cost_price', }, currency_code: { + label: 'Currency', column: 'currency_code', }, cost_account: { + label: 'Cost account', column: 'cost_account_id', relation: 'accounts.id', }, sell_account: { + label: 'Sell account', column: 'sell_account_id', relation: 'accounts.id', }, inventory_account: { + label: "Inventory account", column: 'inventory_account_id', relation: 'accounts.id', }, sell_description: { + label: "Sell description", column: 'sell_description', }, purchase_description: { + label: "Purchase description", column: 'purchase_description', }, quantity_on_hand: { + label: "Quantity on hand", column: 'quantity_on_hand', }, note: { + label: 'Note', column: 'note', }, category: { + label: "Category", column: 'category_id', relation: 'categories.id', }, user: { + label: 'User', column: 'user_id', relation: 'users.id', relationColumn: 'users.id', }, created_at: { + label: 'Created at', column: 'created_at', } }; diff --git a/server/src/models/ItemCategory.js b/server/src/models/ItemCategory.js index 48b763efa..afbd49e9c 100644 --- a/server/src/models/ItemCategory.js +++ b/server/src/models/ItemCategory.js @@ -42,40 +42,52 @@ export default class ItemCategory extends TenantModel { }; } + /** + * Item category fields. + */ static get fields() { return { name: { + label: 'Name', column: 'name', }, description: { + label: 'Description', column: 'description', }, parent_category_id: { + label: 'Parent category', column: 'parent_category_id', relation: 'items_categories.id', relationColumn: 'items_categories.id', }, user: { + label: 'User', column: 'user_id', relation: 'users.id', relationColumn: 'users.id', }, cost_account: { + label: 'Cost account', column: 'cost_account_id', relation: 'accounts.id', }, sell_account: { + label: 'Sell account', column: 'sell_account_id', relation: 'accounts.id', }, inventory_account: { + label: 'Inventory account', column: 'inventory_account_id', relation: 'accounts.id', }, cost_method: { + label: 'Cost method', column: 'cost_method', }, created_at: { + label: 'Created at', column: 'created_at', }, }; diff --git a/server/src/models/ManualJournal.js b/server/src/models/ManualJournal.js index e9fb675ac..410873662 100644 --- a/server/src/models/ManualJournal.js +++ b/server/src/models/ManualJournal.js @@ -17,9 +17,6 @@ export default class ManualJournal extends TenantModel { return ['createdAt', 'updatedAt']; } - /** - * - */ static get resourceable() { return true; } @@ -67,32 +64,41 @@ export default class ManualJournal extends TenantModel { static get fields() { return { date: { + label: 'Date', column: 'date', }, journal_number: { + label: 'Journal number', column: 'journal_number', }, reference: { + label: 'Reference No.', column: 'reference', }, status: { + label: 'Status', column: 'status', }, amount: { + label: 'Amount', column: 'amount', }, description: { + label: 'Description', column: 'description', }, user: { + label: 'User', column: 'user_id', relation: 'users.id', relationColumn: 'users.id', }, journal_type: { + label: 'Journal type', column: 'journal_type', }, created_at: { + label: 'Created at', column: 'created_at', }, };