Purchase orders

This commit is contained in:
Hillel Coren 2022-06-15 11:40:51 +03:00
parent da4a2b4a21
commit acfd9702a2
4 changed files with 255 additions and 33 deletions

View File

@ -848,6 +848,34 @@ abstract class SettingsEntity
@BuiltValueField(wireName: 'page_numbering_alignment') @BuiltValueField(wireName: 'page_numbering_alignment')
String get pageNumberingAlignment; String get pageNumberingAlignment;
@nullable
@BuiltValueField(wireName: 'require_purchase_order_signature')
bool get requirePurchaseOrderSignature;
@nullable
@BuiltValueField(wireName: 'purchase_order_public_notes')
String get purchaseOrderPublicNotes;
@nullable
@BuiltValueField(wireName: 'purchase_order_terms')
String get purchaseOrderTerms;
@nullable
@BuiltValueField(wireName: 'purchase_order_design_id')
String get purchaseOrderDesignId;
@nullable
@BuiltValueField(wireName: 'purchase_order_footer')
String get purchaseOrderFooter;
@nullable
@BuiltValueField(wireName: 'purchase_order_number_pattern')
String get purchaseOrderNumberPattern;
@nullable
@BuiltValueField(wireName: 'purchase_order_number_counter')
int get purchaseOrderNumberCounter;
bool get hasAddress => address1 != null && address1.isNotEmpty; bool get hasAddress => address1 != null && address1.isNotEmpty;
bool get hasLogo => companyLogo != null && companyLogo.isNotEmpty; bool get hasLogo => companyLogo != null && companyLogo.isNotEmpty;

File diff suppressed because one or more lines are too long

View File

@ -557,6 +557,7 @@ class _ClientPortalState extends State<ClientPortal>
onChanged: (value) => viewModel.onSettingsChanged(settings onChanged: (value) => viewModel.onSettingsChanged(settings
.rebuild((b) => b..requireInvoiceSignature = value)), .rebuild((b) => b..requireInvoiceSignature = value)),
), ),
if (company.isModuleEnabled(EntityType.quote))
BoolDropdownButton( BoolDropdownButton(
label: localization.requireQuoteSignature, label: localization.requireQuoteSignature,
helpLabel: localization.requireInvoiceSignatureHelp, helpLabel: localization.requireInvoiceSignatureHelp,
@ -565,6 +566,16 @@ class _ClientPortalState extends State<ClientPortal>
onChanged: (value) => viewModel.onSettingsChanged(settings onChanged: (value) => viewModel.onSettingsChanged(settings
.rebuild((b) => b..requireQuoteSignature = value)), .rebuild((b) => b..requireQuoteSignature = value)),
), ),
if (company.isModuleEnabled(EntityType.purchaseOrder))
BoolDropdownButton(
label: localization.requirePurchaseOrderSignature,
helpLabel: localization.requirePurchaseOrderSignatureHelp,
value: settings.requirePurchaseOrderSignature,
iconData: MdiIcons.signature,
onChanged: (value) => viewModel.onSettingsChanged(
settings.rebuild(
(b) => b..requirePurchaseOrderSignature = value)),
),
BoolDropdownButton( BoolDropdownButton(
label: localization.signatureOnPdf, label: localization.signatureOnPdf,
helpLabel: localization.signatureOnPdfHelp, helpLabel: localization.signatureOnPdfHelp,

View File

@ -16,6 +16,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
static final Map<String, Map<String, String>> _localizedValues = { static final Map<String, Map<String, String>> _localizedValues = {
'en': { 'en': {
// STARTER: lang key - do not remove comment // STARTER: lang key - do not remove comment
'require_purchase_order_signature': 'Purchase Order Signature',
'require_purchase_order_signature_help':
'Require vendor to provide their signature.',
'purchase_order': 'Purchase Order', 'purchase_order': 'Purchase Order',
'purchase_orders': 'Purchase Orders', 'purchase_orders': 'Purchase Orders',
'new_purchase_order': 'New Purchase Order', 'new_purchase_order': 'New Purchase Order',
@ -70617,38 +70620,57 @@ mixin LocalizationsProvider on LocaleCodeAware {
_localizedValues[localeCode]['login_url'] ?? _localizedValues[localeCode]['login_url'] ??
_localizedValues['en']['login_url']; _localizedValues['en']['login_url'];
// STARTER: lang field - do not remove comment
String get purchaseOrder => String get purchaseOrder =>
_localizedValues[localeCode]['purchase_order'] ?? _localizedValues[localeCode]['purchase_order'] ??
_localizedValues['en']['purchase_order']; _localizedValues['en']['purchase_order'];
String get purchaseOrders => String get purchaseOrders =>
_localizedValues[localeCode]['purchase_orders'] ?? _localizedValues[localeCode]['purchase_orders'] ??
_localizedValues['en']['purchase_orders']; _localizedValues['en']['purchase_orders'];
String get newPurchaseOrder => String get newPurchaseOrder =>
_localizedValues[localeCode]['new_purchase_order'] ?? _localizedValues[localeCode]['new_purchase_order'] ??
_localizedValues['en']['new_purchase_order']; _localizedValues['en']['new_purchase_order'];
String get createdPurchaseOrder => String get createdPurchaseOrder =>
_localizedValues[localeCode]['created_purchase_order'] ?? _localizedValues[localeCode]['created_purchase_order'] ??
_localizedValues['en']['created_purchase_order']; _localizedValues['en']['created_purchase_order'];
String get updatedPurchaseOrder => String get updatedPurchaseOrder =>
_localizedValues[localeCode]['updated_purchase_order'] ?? _localizedValues[localeCode]['updated_purchase_order'] ??
_localizedValues['en']['updated_purchase_order']; _localizedValues['en']['updated_purchase_order'];
String get archivedPurchaseOrder => String get archivedPurchaseOrder =>
_localizedValues[localeCode]['archived_purchase_order'] ?? _localizedValues[localeCode]['archived_purchase_order'] ??
_localizedValues['en']['archived_purchase_order']; _localizedValues['en']['archived_purchase_order'];
String get deletedPurchaseOrder => String get deletedPurchaseOrder =>
_localizedValues[localeCode]['deleted_purchase_order'] ?? _localizedValues[localeCode]['deleted_purchase_order'] ??
_localizedValues['en']['deleted_purchase_order']; _localizedValues['en']['deleted_purchase_order'];
String get restoredPurchaseOrder => String get restoredPurchaseOrder =>
_localizedValues[localeCode]['restored_purchase_order'] ?? _localizedValues[localeCode]['restored_purchase_order'] ??
_localizedValues['en']['restored_purchase_order']; _localizedValues['en']['restored_purchase_order'];
String get editPurchaseOrder => String get editPurchaseOrder =>
_localizedValues[localeCode]['edit_purchase_order'] ?? _localizedValues[localeCode]['edit_purchase_order'] ??
_localizedValues['en']['edit_purchase_order']; _localizedValues['en']['edit_purchase_order'];
String get searchPurchaseOrder => String get searchPurchaseOrder =>
_localizedValues[localeCode]['search_purchase_order'] ?? _localizedValues[localeCode]['search_purchase_order'] ??
_localizedValues['en']['search_purchase_order']; _localizedValues['en']['search_purchase_order'];
String get requirePurchaseOrderSignature =>
_localizedValues[localeCode]['require_purchase_order_signature'] ??
_localizedValues['en']['require_purchase_order_signature'];
String get requirePurchaseOrderSignatureHelp =>
_localizedValues[localeCode]['require_purchase_order_signature_help'] ??
_localizedValues['en']['require_purchase_order_signature_help'];
// STARTER: lang field - do not remove comment
String lookup(String key) { String lookup(String key) {
final lookupKey = toSnakeCase(key); final lookupKey = toSnakeCase(key);