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')
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 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
.rebuild((b) => b..requireInvoiceSignature = value)),
),
if (company.isModuleEnabled(EntityType.quote))
BoolDropdownButton(
label: localization.requireQuoteSignature,
helpLabel: localization.requireInvoiceSignatureHelp,
@ -565,6 +566,16 @@ class _ClientPortalState extends State<ClientPortal>
onChanged: (value) => viewModel.onSettingsChanged(settings
.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(
label: localization.signatureOnPdf,
helpLabel: localization.signatureOnPdfHelp,

View File

@ -16,6 +16,9 @@ mixin LocalizationsProvider on LocaleCodeAware {
static final Map<String, Map<String, String>> _localizedValues = {
'en': {
// 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_orders': 'Purchase Orders',
'new_purchase_order': 'New Purchase Order',
@ -70617,38 +70620,57 @@ mixin LocalizationsProvider on LocaleCodeAware {
_localizedValues[localeCode]['login_url'] ??
_localizedValues['en']['login_url'];
// STARTER: lang field - do not remove comment
String get purchaseOrder =>
_localizedValues[localeCode]['purchase_order'] ??
_localizedValues['en']['purchase_order'];
String get purchaseOrders =>
_localizedValues[localeCode]['purchase_orders'] ??
_localizedValues['en']['purchase_orders'];
String get newPurchaseOrder =>
_localizedValues[localeCode]['new_purchase_order'] ??
_localizedValues['en']['new_purchase_order'];
String get createdPurchaseOrder =>
_localizedValues[localeCode]['created_purchase_order'] ??
_localizedValues['en']['created_purchase_order'];
String get updatedPurchaseOrder =>
_localizedValues[localeCode]['updated_purchase_order'] ??
_localizedValues['en']['updated_purchase_order'];
String get archivedPurchaseOrder =>
_localizedValues[localeCode]['archived_purchase_order'] ??
_localizedValues['en']['archived_purchase_order'];
String get deletedPurchaseOrder =>
_localizedValues[localeCode]['deleted_purchase_order'] ??
_localizedValues['en']['deleted_purchase_order'];
String get restoredPurchaseOrder =>
_localizedValues[localeCode]['restored_purchase_order'] ??
_localizedValues['en']['restored_purchase_order'];
String get editPurchaseOrder =>
_localizedValues[localeCode]['edit_purchase_order'] ??
_localizedValues['en']['edit_purchase_order'];
String get searchPurchaseOrder =>
_localizedValues[localeCode]['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) {
final lookupKey = toSnakeCase(key);