bump sdk 7.0.400 redirect kanvas customer to visit

This commit is contained in:
Frede Hundewadt 2023-08-11 11:56:15 +02:00
parent 7b87fa6b88
commit e30acdb005
5 changed files with 287 additions and 311 deletions

View file

@ -34,309 +34,290 @@
</div>
</div>
<div class="col-sm-6 text-end">
@if (!_kanvas)
@if (_userInfo.CountryCode is "DK")
{
@if (_userInfo.CountryCode is "DK")
{
<a class="btn btn-secondary btn-sm me-2" href="/advisor/customers/@CompanyId/workplaces/new"><i class="bi-plus-lg"></i> Arbejdssted</a>
}
@if (_company.Account.StartsWith("NY"))
{
<a type="button" class="btn btn-secondary btn-sm me-2 disabled" aria-disabled="true"><i class="bi-activity"></i> Statistik</a>
}
else
{
<a class="btn btn-secondary btn-sm me-2" href="/advisor/customers/@CompanyId/statistic" disabled="@(_company.Account.StartsWith("NY"))"><i class="bi-activity"></i> Statistik</a>
}
<button class="btn btn-secondary btn-sm me-2" @onclick="@(() => ReloadHistory(true))" disabled="@(_working || _company.Account.StartsWith("NY"))"><i class="bi-repeat"></i> Historik</button>
<a class="btn btn-secondary btn-sm me-2" href="/advisor/customers/@CompanyId/workplaces/new"><i class="bi-plus-lg"></i> Arbejdssted</a>
}
@if (_company.Account.StartsWith("NY"))
{
<a type="button" class="btn btn-secondary btn-sm me-2 disabled" aria-disabled="true"><i class="bi-activity"></i> Statistik</a>
}
else
{
<a class="btn btn-secondary btn-sm me-2" href="/advisor/customers/@CompanyId/statistic" disabled="@(_company.Account.StartsWith("NY"))"><i class="bi-activity"></i> Statistik</a>
}
<button class="btn btn-secondary btn-sm me-2" @onclick="@(() => ReloadHistory(true))" disabled="@(_working || _company.Account.StartsWith("NY"))"><i class="bi-repeat"></i> Historik</button>
<a class="btn btn-primary btn-sm me-2" href="/advisor/customers"><i class="bi-chevron-left"></i> Tilbage</a>
</div>
</div>
// erp context
<EditForm EditContext="_erpFormContext">
<DataAnnotationsValidator/>
<div class="row g-1">
@* Company Name *@
<label for="name" class="col-sm-1 col-form-label-sm">Navn</label>
<div class="col-sm-5">
<InputText id="name" class="form-control" @bind-Value="_company.Name" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Name)"></ValidationMessage>
</div>
@* Company Attention *@
<label for="attention" class="col-sm-1 col-form-label-sm">Att.</label>
<div class="col-sm-5">
<InputText id="attention" class="form-control" @bind-Value="_company.Attention" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Attention)"></ValidationMessage>
</div>
@* Address 1 *@
<label for="address1" class="col-sm-1 col-form-label-sm">Adresse</label>
<div class="col-sm-5">
<InputText id="address1" class="form-control" @bind-Value="_company.Address1" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Address1)"></ValidationMessage>
</div>
@* Address 2 *@
<label for="address2" class="col-sm-1 col-form-label-sm">Adresse</label>
<div class="col-sm-5">
<InputText id="address2" class="form-control" @bind-Value="_company.Address2" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Address2)"></ValidationMessage>
</div>
@* Post Code *@
<label for="zipCode" class="col-sm-1 col-form-label-sm">PostNr</label>
<div class="col-sm-1">
<InputText id="zipCode" class="form-control" @bind-Value="_company.ZipCode" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.ZipCode)"></ValidationMessage>
</div>
@* City Name *@
<label for="city" class="col-sm-1 col-form-label-sm">Bynavn</label>
<div class="col-sm-3">
<InputText id="city" class="form-control" @bind-Value="_company.City" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.City)"></ValidationMessage>
</div>
@* Email *@
<label for="email" class="col-sm-1 col-form-label-sm">Epost</label>
<div class="col-sm-5">
<InputText id="email" class="form-control" @bind-Value="_company.Email" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Email)"></ValidationMessage>
</div>
@* Phone *@
<label for="phone" class="col-sm-1 col-form-label-sm">Telefon</label>
<div class="col-sm-2">
<InputText id="phone" class="form-control" @bind-Value="_company.Phone" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Phone)"></ValidationMessage>
</div>
@* Mobile *@
<label for="mobile" class="col-sm-1 col-form-label-sm">Mobil</label>
<div class="col-sm-2">
<InputText id="mobile" class="form-control" @bind-Value="_company.Mobile" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Mobile)"></ValidationMessage>
</div>
@* Email *@
<label for="eanNumber" class="col-sm-1 col-form-label-sm">EAN</label>
<div class="col-sm-5">
<InputText id="eanNumber" class="form-control" @bind-Value="_company.EanNumber" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.EanNumber)"></ValidationMessage>
</div>
<DataAnnotationsValidator/>
<div class="row g-1">
@* Company Name *@
<label for="name" class="col-sm-1 col-form-label-sm">Navn</label>
<div class="col-sm-5">
<InputText id="name" class="form-control" @bind-Value="_company.Name" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Name)"></ValidationMessage>
</div>
@* Company Attention *@
<label for="attention" class="col-sm-1 col-form-label-sm">Att.</label>
<div class="col-sm-5">
<InputText id="attention" class="form-control" @bind-Value="_company.Attention" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Attention)"></ValidationMessage>
</div>
@* Address 1 *@
<label for="address1" class="col-sm-1 col-form-label-sm">Adresse</label>
<div class="col-sm-5">
<InputText id="address1" class="form-control" @bind-Value="_company.Address1" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Address1)"></ValidationMessage>
</div>
@* Address 2 *@
<label for="address2" class="col-sm-1 col-form-label-sm">Adresse</label>
<div class="col-sm-5">
<InputText id="address2" class="form-control" @bind-Value="_company.Address2" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Address2)"></ValidationMessage>
</div>
@* Post Code *@
<label for="zipCode" class="col-sm-1 col-form-label-sm">PostNr</label>
<div class="col-sm-1">
<InputText id="zipCode" class="form-control" @bind-Value="_company.ZipCode" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.ZipCode)"></ValidationMessage>
</div>
@* City Name *@
<label for="city" class="col-sm-1 col-form-label-sm">Bynavn</label>
<div class="col-sm-3">
<InputText id="city" class="form-control" @bind-Value="_company.City" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.City)"></ValidationMessage>
</div>
@* Email *@
<label for="email" class="col-sm-1 col-form-label-sm">Epost</label>
<div class="col-sm-5">
<InputText id="email" class="form-control" @bind-Value="_company.Email" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Email)"></ValidationMessage>
</div>
@* Phone *@
<label for="phone" class="col-sm-1 col-form-label-sm">Telefon</label>
<div class="col-sm-2">
<InputText id="phone" class="form-control" @bind-Value="_company.Phone" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Phone)"></ValidationMessage>
</div>
@* Mobile *@
<label for="mobile" class="col-sm-1 col-form-label-sm">Mobil</label>
<div class="col-sm-2">
<InputText id="mobile" class="form-control" @bind-Value="_company.Mobile" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.Mobile)"></ValidationMessage>
</div>
@* Email *@
<label for="eanNumber" class="col-sm-1 col-form-label-sm">EAN</label>
<div class="col-sm-5">
<InputText id="eanNumber" class="form-control" @bind-Value="_company.EanNumber" readonly="@(_erpEditDisabled)"/>
<ValidationMessage For="@(() => _company.EanNumber)"></ValidationMessage>
</div>
@if (!_kanvas)
{
@* entity segment *@
@if (_userInfo.CountryCode.ToLower() == "dk")
{
<label for="segment" class="col-sm-1 col-form-label-sm">Segment</label>
<div class="col-sm-2">
<InputSelect id="segment" class="form-select bg-warning text-bg-warning"
@bind-Value="@_company.Segment" disabled="@(_erpEditDisabled)">
<option value="" disabled>segment</option>
<option value="1">AUTO</option>
<option value="2">INDUSTRI</option>
</InputSelect>
<ValidationMessage For="@(() => _company.Segment)"></ValidationMessage>
</div>
<div class="col-sm-1">
<div class="led-box @(DateTime.Now < DateTime.Parse("2023-12-31") ? "inno-display" : "inno-hidden")">
<div class="led-yellow"></div>
</div>
</div>
}
else
{
<div class="col-sm-4">
@* placeholder *@
</div>
}
@* Enable edit/save *@
<div class="col-sm-2 d-grid mx-auto">
<button type="button" class="btn btn-edit" @onclick="@ToggleErpEdit"><i class="bi-pencil"></i> STAM data</button>
</div>
@* Force enable visit *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-primary d-block" @onclick="@ForceActivity">Aktiver besøg</button>
</div>
@* Save erp data *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-danger d-block" @onclick="@UpdateErpData" disabled="@(_working || _company.Name == "ERROR" || _erpEditDisabled)"><i class="bi-cloud-arrow-up"></i> STAM data </button>
</div>
@* vat number*@
<hr class="mb-3"/>
<label for="vatNumber" class="col-sm-1 col-form-label-sm">ORG nr.</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-text">
<DisplayStateComponent StateClass="@VatState"/>
</span>
<InputText id="vatNumber" class="form-control" @bind-Value="_company.VatNumber" readonly="@(_vatEditDisabled)"/>
<ValidationMessage For="@(() => _company.VatNumber)"></ValidationMessage>
</div>
</div>
@* Enable edit/save vatnumber *@
<div class="col-sm-2 d-grid mx-auto">
<button type="button" class="btn btn-edit" @onclick="@ToggleVatEdit"><i class="bi-pencil"></i> ORG Nr.</button>
</div>
@* vat lookup *@
<div class="col-sm-3 d-grid mx-auto">
@switch (_countryCode)
{
case "dk":
<button type="button" class="btn btn-info" @onclick="@OpenVatLookupModal" disabled="@(_vatEditDisabled)"><i class="bi-search"></i> CVR</button>
break;
case "no":
<a class="btn btn-info" href="https://brreg.no/" target="_blank"><i class="bi-search"></i> brreg.no</a>
break;
case "se":
<a class="btn btn-info" href="https://www.allabolag.se/what/@_company.Name" target="_blank"><i class="bi-search"></i> allabolag.se</a>
break;
}
</div>
@* save vat number *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-warning d-block" @onclick="@UpdateVatNumber" disabled="@(_vatEditDisabled)"><i class="bi-cloud-arrow-up"></i> Moms/Org Nr.</button>
</div>
}
</div>
<hr class="mb-3"/>
@* activity buttons *@
<div class="row mt-3 mb-3">
<div class="col-sm-3">
@if (!_kanvas)
{
<ActionButton ActionLink="@_invoiceLink"
ButtonText="Faktura"
ButtonType="danger"
Enabled="@_enableLink" />
}
</div>
<div class="col-sm-3">
@if (!_kanvas)
{
<ActionButton ActionLink="@_activitiesLink"
ButtonText="Tidl. Besøg"
ButtonType="warning"
Enabled="@_enableLink" />
}
</div>
<div class="col-sm-3">
@if (!_kanvas )
{
<ActionButton ActionLink="@_inventoryLink"
ButtonText="Produkter"
ButtonType="success"
Enabled="@_enableLink" />
}
</div>
<div class="col-sm-3">
<ActionButton ActionLink="@_newActivityLink"
ButtonText="Nyt Besøg"
ButtonType="primary"
Enabled="@_enableActivity">
</ActionButton>
</div>
</div>
@if (!_kanvas)
@if (_userInfo.CountryCode.ToLower() == "dk")
{
<hr class="mb-3"/>
@* crm context - OBS note *@
<div class="row mb-2">
<label for="note" class="col-sm-1 col-form-label-sm">OBS</label>
<div class="col-sm-8">
@if (string.IsNullOrWhiteSpace(_company.Note))
{
<InputText name="note" id="note" class="form-control" @bind-Value="_company.Note"/>
}
else
{
<InputText name="note" id="note" class="form-control bg-warning text-black" @bind-Value="_company.Note"/>
}
<ValidationMessage For="@(() => _company.Note)"></ValidationMessage>
</div>
@* Save CRM data button *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-warning" disabled="@(_company.Name == "ERROR")" @onclick="@PostCrmData"><i class="bi-cloud-arrow-up"></i> CRM data</button>
</div>
<label for="segment" class="col-sm-1 col-form-label-sm">Segment</label>
<div class="col-sm-2">
<InputSelect id="segment" class="form-select bg-warning text-bg-warning"
@bind-Value="@_company.Segment" disabled="@(_erpEditDisabled)">
<option value="" disabled>segment</option>
<option value="1">AUTO</option>
<option value="2">INDUSTRI</option>
</InputSelect>
<ValidationMessage For="@(() => _company.Segment)"></ValidationMessage>
</div>
@* crm context - contacts *@
<div class="row mb-4">
<label for="contacts" class="col-sm-1 col-form-label-sm">Kontakt</label>
<div id="contacts" class="col-sm-11">
<div class="list-group">
<div class="list-group-item list-group-item-action bg-dark text-white" @onclick="@(() => OpenContactPopup(_defaultContact))">
<div class="row">
<div class="col-sm-4">Stilling</div>
<div class="col-sm-4">Navn</div>
<div class="col-sm-3">Direkte</div>
<div class="col-sm-1 text-end">
<i class="bi-plus-circle"></i>
</div>
</div>
</div>
@if (_contacts.Any())
{
@foreach (var contact in _contacts)
{
<div class="list-group-item list-group-item-action" @onclick="@(() => OpenContactPopup(contact))">
<div class="row g-2">
<div class="col-sm-4">@contact.JobTitle</div>
<div class="col-sm-4">@contact.FirstName @contact.LastName</div>
<div class="col-sm-3">
@contact.PhoneDirect
</div>
<div class="col-sm-1 text-end">
<i class="bi-pencil"></i>
</div>
</div>
</div>
}
}
</div>
</div>
</div>
@* crm context - dates and interval *@
<div class="row mb-2">
<label for="nextVisit" class="col-sm-1 col-form-label-sm">Næste besøg</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-text">
<DisplayStateComponent StateClass="@_visitStateCss"/>
</span>
<InputDate id="nextVisit" class="form-control" @bind-Value="@(_nextVisit)"/>
</div>
</div>
<label for="lastVisit" class="col-sm-1 col-form-label-sm">Sidste besøg</label>
<div class="col-sm-3">
<InputDate id="lastVisit" class="form-control" @bind-Value="@_lastVisit"/>
</div>
<label for="interval" class="col-sm-2 col-form-label-sm">Uge Interval</label>
<div class="col-sm-2">
<InputNumber id="interval" class="form-control" @bind-Value="_company.Interval"/>
<ValidationMessage For="@(() => _company.Interval)"></ValidationMessage>
</div>
</div>
<div class="row mb-2">
<label for="crmNotes" class="col-sm-1 col-form-label-sm">Noter</label>
<div class="col-sm-11">
<InputTextArea id="crmNotes" class="form-control" @bind-Value="_company.CrmNotes"/>
<div class="col-sm-1">
<div class="led-box @(DateTime.Now < DateTime.Parse("2023-12-31") ? "inno-display" : "inno-hidden")">
<div class="led-yellow"></div>
</div>
</div>
}
</EditForm>
@if (!_kanvas)
{
<hr class="mb-3"/>
<div class="row pt-3 mb-5">
<div class="col-sm-4 d-grid">
<button type="button" class="btn btn-outline-dark text-dark" @onclick="@ToggleVisibility">@_toggleButtonText</button>
else
{
<div class="col-sm-4">
@* placeholder *@
</div>
<div class="col-sm-4 d-grid">
@if (_userInfo.CountryCode is "DK")
}
@* Enable edit/save *@
<div class="col-sm-2 d-grid mx-auto">
<button type="button" class="btn btn-edit" @onclick="@ToggleErpEdit"><i class="bi-pencil"></i> STAM data</button>
</div>
@* Force enable visit *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-primary d-block" @onclick="@ForceActivity">Aktiver besøg</button>
</div>
@* Save erp data *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-danger d-block" @onclick="@UpdateErpData" disabled="@(_working || _company.Name == "ERROR" || _erpEditDisabled)"><i class="bi-cloud-arrow-up"></i> STAM data </button>
</div>
@* vat number*@
<hr class="mb-3"/>
<label for="vatNumber" class="col-sm-1 col-form-label-sm">ORG nr.</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-text">
<DisplayStateComponent StateClass="@VatState"/>
</span>
<InputText id="vatNumber" class="form-control" @bind-Value="_company.VatNumber" readonly="@(_vatEditDisabled)"/>
<ValidationMessage For="@(() => _company.VatNumber)"></ValidationMessage>
</div>
</div>
@* Enable edit/save vatnumber *@
<div class="col-sm-2 d-grid mx-auto">
<button type="button" class="btn btn-edit" @onclick="@ToggleVatEdit"><i class="bi-pencil"></i> ORG Nr.</button>
</div>
@* vat lookup *@
<div class="col-sm-3 d-grid mx-auto">
@switch (_countryCode)
{
case "dk":
<button type="button" class="btn btn-info" @onclick="@OpenVatLookupModal" disabled="@(_vatEditDisabled)"><i class="bi-search"></i> CVR</button>
break;
case "no":
<a class="btn btn-info" href="https://brreg.no/" target="_blank"><i class="bi-search"></i> brreg.no</a>
break;
case "se":
<a class="btn btn-info" href="https://www.allabolag.se/what/@_company.Name" target="_blank"><i class="bi-search"></i> allabolag.se</a>
break;
}
</div>
@* save vat number *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-warning d-block" @onclick="@UpdateVatNumber" disabled="@(_vatEditDisabled)"><i class="bi-cloud-arrow-up"></i> Moms/Org Nr.</button>
</div>
</div>
<hr class="mb-3"/>
@* activity buttons *@
<div class="row mt-3 mb-3">
<div class="col-sm-3">
<ActionButton ActionLink="@_invoiceLink"
ButtonText="Faktura"
ButtonType="danger"
Enabled="@_enableLink"/>
</div>
<div class="col-sm-3">
<ActionButton ActionLink="@_activitiesLink"
ButtonText="Tidl. Besøg"
ButtonType="warning"
Enabled="@_enableLink"/>
</div>
<div class="col-sm-3">
<ActionButton ActionLink="@_inventoryLink"
ButtonText="Produkter"
ButtonType="success"
Enabled="@_enableLink"/>
</div>
<div class="col-sm-3">
<ActionButton ActionLink="@_newActivityLink"
ButtonText="Nyt Besøg"
ButtonType="primary"
Enabled="@_enableActivity">
</ActionButton>
</div>
</div>
<hr class="mb-3"/>
@* crm context - OBS note *@
<div class="row mb-2">
<label for="note" class="col-sm-1 col-form-label-sm">OBS</label>
<div class="col-sm-8">
@if (string.IsNullOrWhiteSpace(_company.Note))
{
<InputText name="note" id="note" class="form-control" @bind-Value="_company.Note"/>
}
else
{
<InputText name="note" id="note" class="form-control bg-warning text-black" @bind-Value="_company.Note"/>
}
<ValidationMessage For="@(() => _company.Note)"></ValidationMessage>
</div>
@* Save CRM data button *@
<div class="col-sm-3 d-grid mx-auto">
<button type="button" class="btn btn-warning" disabled="@(_company.Name == "ERROR")" @onclick="@PostCrmData"><i class="bi-cloud-arrow-up"></i> CRM data</button>
</div>
</div>
@* crm context - contacts *@
<div class="row mb-4">
<label for="contacts" class="col-sm-1 col-form-label-sm">Kontakt</label>
<div id="contacts" class="col-sm-11">
<div class="list-group">
<div class="list-group-item list-group-item-action bg-dark text-white" @onclick="@(() => OpenContactPopup(_defaultContact))">
<div class="row">
<div class="col-sm-4">Stilling</div>
<div class="col-sm-4">Navn</div>
<div class="col-sm-3">Direkte</div>
<div class="col-sm-1 text-end">
<i class="bi-plus-circle"></i>
</div>
</div>
</div>
@if (_contacts.Any())
{
<a class="btn btn-info" href="@($"/advisor/customers/{CompanyId}/workplaces")">Kemi Dokumentation</a>
@foreach (var contact in _contacts)
{
<div class="list-group-item list-group-item-action" @onclick="@(() => OpenContactPopup(contact))">
<div class="row g-2">
<div class="col-sm-4">@contact.JobTitle</div>
<div class="col-sm-4">@contact.FirstName @contact.LastName</div>
<div class="col-sm-3">
@contact.PhoneDirect
</div>
<div class="col-sm-1 text-end">
<i class="bi-pencil"></i>
</div>
</div>
</div>
}
}
</div>
</div>
}
</div>
</div>
@* crm context - dates and interval *@
<div class="row mb-2">
<label for="nextVisit" class="col-sm-1 col-form-label-sm">Næste besøg</label>
<div class="col-sm-3">
<div class="input-group">
<span class="input-group-text">
<DisplayStateComponent StateClass="@_visitStateCss"/>
</span>
<InputDate id="nextVisit" class="form-control" @bind-Value="@(_nextVisit)"/>
</div>
</div>
<label for="lastVisit" class="col-sm-1 col-form-label-sm">Sidste besøg</label>
<div class="col-sm-3">
<InputDate id="lastVisit" class="form-control" @bind-Value="@_lastVisit"/>
</div>
<label for="interval" class="col-sm-2 col-form-label-sm">Uge Interval</label>
<div class="col-sm-2">
<InputNumber id="interval" class="form-control" @bind-Value="_company.Interval"/>
<ValidationMessage For="@(() => _company.Interval)"></ValidationMessage>
</div>
</div>
<div class="row mb-2">
<label for="crmNotes" class="col-sm-1 col-form-label-sm">Noter</label>
<div class="col-sm-11">
<InputTextArea id="crmNotes" class="form-control" @bind-Value="_company.CrmNotes"/>
</div>
</div>
</EditForm>
<hr class="mb-3"/>
<div class="row pt-3 mb-5">
<div class="col-sm-4 d-grid">
<button type="button" class="btn btn-outline-dark text-dark" @onclick="@ToggleVisibility">@_toggleButtonText</button>
</div>
<div class="col-sm-4 d-grid">
@if (_userInfo.CountryCode is "DK")
{
<a class="btn btn-info" href="@($"/advisor/customers/{CompanyId}/workplaces")">Kemi Dokumentation</a>
}
</div>
</div>
}
@if (_working)
@ -348,4 +329,4 @@
@ref="_vatLookupPopup" OnSelectedCompany="SelectedCompanyCallback"/>
<ContactViewEditModal SelectedContact="_selectedContact" CompanyName="@_company.Name"
@ref="_contactViewPopup" OnSaveClicked="WriteContactCallback" OnDeleteClicked="DeleteContactCallback"/>
@ref="_contactViewPopup" OnSaveClicked="WriteContactCallback" OnDeleteClicked="DeleteContactCallback"/>

View file

@ -77,7 +77,6 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
private bool _erpEditDisabled = true;
private bool _vatEditDisabled = true;
private string _toggleButtonText = "";
private bool _kanvas;
private string _inventoryLink = "";
private string _activitiesLink = "";
private string _invoiceLink = "";
@ -117,13 +116,23 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
_erpFormContext = new EditContext(_company);
_erpFormContext.OnFieldChanged += HandleFieldChanged;
_erpFormContext.OnValidationStateChanged += ValidationChanged!;
/*
* fetch company
*/
_company = await AdvisorCustomerRepo.GetCompanyById(CompanyId);
/*
* redirect if KANVAS
*/
if (_company.Account.StartsWith("KANVAS"))
{
Navigator.NavigateTo($"/advisor/customers/{CompanyId}/activities/new");
}
/*
* fetch user info from local storage
*/
_userInfo = await UserInfoService.GetUserInfo();
_countryCode = _userInfo.CountryCode.ToLower();
_countryIsDk = _countryCode == "dk";
_company = await AdvisorCustomerRepo.GetCompanyById(CompanyId);
_infoDrawer = await DrawerService.GetInfoDrawerAsync(CompanyId);
_infoDrawer.Content = _company;
await DrawerService.StoreInfoDrawerAsync(CompanyId, _infoDrawer);
@ -139,16 +148,9 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
{
_enableActivity = 1;
}
if (_company.Account.StartsWith("KANVAS"))
{
_kanvas = true;
Navigator.NavigateTo($"/advisor/customers/{CompanyId}/activities/new");
}
/*
* only execute if the InfoDrawer.Company is not KANVAS
*/
if (!_kanvas)
{
Logger.LogDebug("_company => {}", JsonSerializer.Serialize(_company));
/*
* toggle view button text
@ -213,7 +215,6 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
_companyVatAddress = PrepareVatAddress(_company);
}
// await GetContacts(CompanyId);
}
/*
* remove loading image
*/
@ -223,9 +224,6 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (_kanvas)
return;
if (firstRender)
{
await GetContacts(CompanyId);
@ -240,9 +238,6 @@ public partial class AdvisorCustomerViewEditPage : IDisposable
private async Task ReloadHistory(bool force = false)
{
if (_kanvas)
return;
if (force)
{
Toaster.ShowInfo("Afventer svar fra tjenester ...");

View file

@ -1,5 +1,4 @@
using Microsoft.AspNetCore.Components;
using Toolbelt.Blazor;
using Wonky.Client.HttpInterceptors;
using Wonky.Client.HttpRepository;
using Wonky.Entity.Views;
@ -16,6 +15,7 @@ public partial class CatalogProductDetailPage
// ##############################################################
[Parameter] public string SalesItemId { get; set; } = "";
[Parameter] public string CustomerId { get; set; } = "";
// ##############################################################
private ProductDetailView _item = new();

View file

@ -11,11 +11,11 @@
<ItemGroup>
<PackageReference Include="Blazored.LocalStorage" Version="4.3.0" />
<PackageReference Include="Blazored.Toast" Version="4.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="7.0.9" />
<PackageReference Include="Microsoft.AspNetCore.Components" Version="7.0.9" />
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="7.0.9" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.9" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.9" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="7.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components" Version="7.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="7.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.10" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.10" PrivateAssets="all" />
<PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Configuration" Version="7.0.0" />

View file

@ -1,8 +1,8 @@
{
"appInfo": {
"name": "Wonky Online",
"version": "211.0",
"rc": true,
"version": "213.0",
"rc": false,
"sandBox": true,
"image": "grumpy-coder.png",
"sdk": "dotnet 7.0"
@ -21,7 +21,7 @@
},
"apiConfig": {
"assetUrl": "https://files.innotec.dk",
"baseUrl": "https://eta.innotec.dk",
"baseUrl": "https://dev.innotec.dk",
"catalog": "api/v2/catalog/country",
"crmCustomers": "api/v2/crm/companies",
"crmReports": "api/v2/crm/advisors/reports",