diff --git a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs index 1b7f5e3e..75b57d43 100644 --- a/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs +++ b/Wonky.Client/HttpInterceptors/HttpInterceptorService.cs @@ -83,10 +83,10 @@ namespace Wonky.Client.HttpInterceptors if (e.Response == null || e.Response.IsSuccessStatusCode) return; - string message = "An error happened"; + var message = "En ukendt fejl er opstået"; var currDoc = _navigation.ToBaseRelativePath(_navigation.Uri); - if (currDoc.Contains("login")) - currDoc = "/"; + if (currDoc.Contains("login/")) + currDoc = ""; switch (e.Response.StatusCode) { @@ -95,16 +95,24 @@ namespace Wonky.Client.HttpInterceptors _toast.ShowInfo(message); break; case HttpStatusCode.BadRequest: + // message = "Der er et problem med data ..."; + // _toast.ShowWarning(message); + break; case HttpStatusCode.Unauthorized: ClearInfo(); _navigation.NavigateTo($"/login/{currDoc}"); - message = "Login info skal fornyes ..."; - _toast.ShowInfo(message); + message = "Login skal fornyes ..."; + _toast.ShowWarning(message); break; case HttpStatusCode.InternalServerError: + message = "Der er interne problemer på serveren ..."; + _toast.ShowError(message); + break; + default: + _toast.ShowError(message); break; } - throw new HttpResponseException(message); + // throw new HttpResponseException(message); } private async void ClearInfo() diff --git a/Wonky.Client/Pages/ActivityNewVisitPage.razor b/Wonky.Client/Pages/ActivityNewVisitPage.razor index e5fef4f1..0a5f2332 100644 --- a/Wonky.Client/Pages/ActivityNewVisitPage.razor +++ b/Wonky.Client/Pages/ActivityNewVisitPage.razor @@ -48,6 +48,7 @@ +
@@ -61,50 +62,63 @@
- +
+
+
+
+
+
+
+ + +
+ + +
+
@* Order lines *@ diff --git a/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs b/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs index 7afaee6d..d9c04f74 100644 --- a/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs +++ b/Wonky.Client/Pages/ActivityNewVisitPage.razor.cs @@ -72,6 +72,7 @@ public partial class ActivityNewVisitPage : IDisposable private UserInfoView _ux { get; set; } = new(); private DateTime _workDate { get; set; } = DateTime.Now; private string _selectedDate { get; set; } = ""; + private string _phone { get; set; } = ""; protected override async Task OnParametersSetAsync() { @@ -107,6 +108,15 @@ public partial class ActivityNewVisitPage : IDisposable _ux = await _storage.GetItemAsync("_xu"); _company = await _companyRepo.GetCompanyById(CompanyId); + // variable to validate if customer needs update + _phone = _company.Phone; + if (string.IsNullOrWhiteSpace(_company.Phone) + && !string.IsNullOrWhiteSpace(_company.Account) + && _company.Account != "NY") + { + _company.Phone = _company.Account[..8]; + } + // set up identification _draft.CompanyId = _company.CompanyId; _draft.BcId = _company.BcId; @@ -152,15 +162,27 @@ public partial class ActivityNewVisitPage : IDisposable return; } + if (_draft.ActivityStatusEnum == "order" && DraftStateProvider.Draft.Items.Count == 0) + { + _toast.ShowError("Ved bestilling skal der angives et eller flere varenumre."); + return; + } + + if (_draft.ActivityStatusEnum == "order" && string.IsNullOrWhiteSpace(_draft.Phone)) + { + _toast.ShowError("Ved nye bestillinger skal en kundes telefon nummer angives."); + return; + } + HideButtons = true; _draft.ActivityDate = _prefs.WorkDate; - var activityType = _draft.ActivityTypeEnum switch + _draft.OurRef = _draft.ActivityTypeEnum switch { - "phone" => "T:", - "onSite" => "B:", + "phone" => $"T:{_ux.FullName.Split(" ")[0]}", + "onSite" => $"B:{_ux.FullName.Split(" ")[0]}", _ => "" }; - _draft.OurRef = $"{activityType}{_ux.FullName.Split(" ")[0]}"; + var ln = 0; var lines = DraftStateProvider.Draft.Items.Select(item => new ActivityLineDto { @@ -176,6 +198,12 @@ public partial class ActivityNewVisitPage : IDisposable }) .ToList(); _draft.Lines = lines; + if (_phone != _draft.Phone) + { + _company.Phone = _draft.Phone; + await _companyRepo.UpdateCompany(_company.CompanyId, _company); + _toast.ShowInfo("Kunde telefon nummer er opdateret."); + } var result = await _activityRepo.CreateActivity(_draft); _toast.ShowSuccess($"{result.Message}."); await DraftStateProvider.DeleteDraftAsync(); diff --git a/Wonky.Client/Pages/AdminVewSalesReportPage.razor b/Wonky.Client/Pages/AdminViewSalesReportPage.razor similarity index 100% rename from Wonky.Client/Pages/AdminVewSalesReportPage.razor rename to Wonky.Client/Pages/AdminViewSalesReportPage.razor diff --git a/Wonky.Client/Pages/AdminVewSalesReportPage.razor.cs b/Wonky.Client/Pages/AdminViewSalesReportPage.razor.cs similarity index 98% rename from Wonky.Client/Pages/AdminVewSalesReportPage.razor.cs rename to Wonky.Client/Pages/AdminViewSalesReportPage.razor.cs index 7753fbbd..68415808 100644 --- a/Wonky.Client/Pages/AdminVewSalesReportPage.razor.cs +++ b/Wonky.Client/Pages/AdminViewSalesReportPage.razor.cs @@ -21,7 +21,7 @@ using Wonky.Entity.Views; namespace Wonky.Client.Pages; -public partial class AdminVewSalesReportPage : IDisposable +public partial class AdminViewSalesReportPage : IDisposable { /// /// Country code from url parameter diff --git a/Wonky.Client/Pages/SalesReportViewPage.razor b/Wonky.Client/Pages/SalesReportViewPage.razor index 2f074a11..e1cb56f8 100644 --- a/Wonky.Client/Pages/SalesReportViewPage.razor +++ b/Wonky.Client/Pages/SalesReportViewPage.razor @@ -64,6 +64,8 @@ { @foreach (var item in _items) { - +
+ +
} } \ No newline at end of file diff --git a/Wonky.Client/Shared/MainLayout.razor b/Wonky.Client/Shared/MainLayout.razor index 3d78003d..6603a7d8 100644 --- a/Wonky.Client/Shared/MainLayout.razor +++ b/Wonky.Client/Shared/MainLayout.razor @@ -26,9 +26,6 @@
-
@Body
diff --git a/Wonky.Client/Shared/MainLayout.razor.css b/Wonky.Client/Shared/MainLayout.razor.css index 106cf54d..39d8ca23 100644 --- a/Wonky.Client/Shared/MainLayout.razor.css +++ b/Wonky.Client/Shared/MainLayout.razor.css @@ -8,10 +8,6 @@ main { flex: 1; } -.nav-icon-only { - background-image: linear-gradient(180deg, rgb(22, 21, 23) 10%, #ffaa00 100%); -} - .sidebar { background-image: linear-gradient(180deg, rgb(22, 21, 23) 10%, #ffaa00 100%); } @@ -58,31 +54,12 @@ main { } } -@media (max-width: 1024px){ - .nav-icon-only { - display: block; - } - - .sidebar { - display: none; - } - - .top-row { - display: none; - } -} - @media (min-width: 1025px) { .page { flex-direction: row; } - .nav-icon-only { - display: none; - } - .sidebar { - display: block; width: 200px; height: 100vh; position: sticky; @@ -90,7 +67,6 @@ main { } .top-row { - display: block; position: sticky; top: 0; z-index: 1; diff --git a/Wonky.Client/Shared/NavIconOnly.razor b/Wonky.Client/Shared/NavIconOnly.razor deleted file mode 100644 index 2cefc603..00000000 --- a/Wonky.Client/Shared/NavIconOnly.razor +++ /dev/null @@ -1,96 +0,0 @@ -@* -// Copyright (C) 2022 FCS Frede's Computer Services. -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see [https://www.gnu.org/licenses/agpl-3.0.en.html] -// -*@ - -@inject IWebAssemblyHostEnvironment HostEnvironment -@using Wonky.Client.Components; - - diff --git a/Wonky.Client/Shared/NavIconOnly.razor.css b/Wonky.Client/Shared/NavIconOnly.razor.css deleted file mode 100644 index ef5e6af0..00000000 --- a/Wonky.Client/Shared/NavIconOnly.razor.css +++ /dev/null @@ -1,38 +0,0 @@ -.oi { - width: 2rem; - font-size: 1.1rem; - vertical-align: text-top; - top: -2px; -} - -.nav-item { - font-size: 0.9rem; - padding-bottom: 0.5rem; -} - -.nav-item:first-of-type { - padding-top: 1rem; -} - -.nav-item:last-of-type { - padding-bottom: 1rem; -} - -.nav-item ::deep a { - color: #d7d7d7; - border-radius: 4px; - height: 3rem; - display: flex; - align-items: center; - line-height: 3rem; -} - -.nav-item ::deep a.active { - background-color: rgba(255,255,255,0.25); - color: white; -} - -.nav-item ::deep a:hover { - background-color: rgba(255,255,255,0.1); - color: white; -} diff --git a/Wonky.Client/wwwroot/appsettings.json b/Wonky.Client/wwwroot/appsettings.json index 38e81223..3d46e4d3 100644 --- a/Wonky.Client/wwwroot/appsettings.json +++ b/Wonky.Client/wwwroot/appsettings.json @@ -1,13 +1,13 @@ { "appInfo": { "name": "Wonky Client", - "version": "0.8.136", + "version": "0.8.144", "isBeta": false, "sandBox": false, "image": "grumpy-coder.png" }, "apiConfig": { - "innoBaseUrl": "https://production.innotec.dk", + "innoBaseUrl": "https://staging.innotec.dk", "glsTrackUrl": "https://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/DK01/DA/5004.htm?txtAction=71000&txtRefNo=", "glsId": "", "virkUrl": "api/v2/services/virk", diff --git a/Wonky.Client/wwwroot/css/app-136.css b/Wonky.Client/wwwroot/css/app-144.css similarity index 94% rename from Wonky.Client/wwwroot/css/app-136.css rename to Wonky.Client/wwwroot/css/app-144.css index 31a5d7f8..7f75ad44 100644 --- a/Wonky.Client/wwwroot/css/app-136.css +++ b/Wonky.Client/wwwroot/css/app-144.css @@ -138,10 +138,12 @@ footer.version { https://developer.mozilla.org/en-US/docs/Web/CSS/break-before firefox still needs this */ + page-break-before: always; page-break-after: always; page-break-inside: avoid; break-after: page; + break-before: page; break-inside: avoid; } @@ -163,10 +165,13 @@ footer.version { } .report-page { /* deprecated style properties */ + page-break-before: always; page-break-after: always; page-break-inside: avoid; + /* new style properties */ break-after: page; + break-before: page; break-inside: avoid; height: initial; diff --git a/Wonky.Client/wwwroot/index.html b/Wonky.Client/wwwroot/index.html index 91974441..2be952bf 100644 --- a/Wonky.Client/wwwroot/index.html +++ b/Wonky.Client/wwwroot/index.html @@ -13,7 +13,7 @@ - +