From d9c718fb4e773708c6d9d579cfc6fd98a2f4adb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96zt=C3=BCrk?= Date: Sun, 26 Oct 2025 00:04:38 +0300 Subject: [PATCH] =?UTF-8?q?Intranet=20d=C3=BCzenlemesi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Seeds/HostData.json | 148 +++++++++--------- .../Seeds/ListFormsSeeder.cs | 106 ++++++------- .../Kurs.Platform.Domain/Data/SeedConsts.cs | 2 +- ....cs => 20251025204259_Initial.Designer.cs} | 2 +- ...1_Initial.cs => 20251025204259_Initial.cs} | 0 ui/src/mocks/mockIntranet.ts | 10 +- ui/src/views/intranet/Dashboard.tsx | 2 +- .../views/intranet/widgets/MealWeeklyMenu.tsx | 77 +++++---- 8 files changed, 179 insertions(+), 168 deletions(-) rename api/src/Kurs.Platform.EntityFrameworkCore/Migrations/{20251025202511_Initial.Designer.cs => 20251025204259_Initial.Designer.cs} (99%) rename api/src/Kurs.Platform.EntityFrameworkCore/Migrations/{20251025202511_Initial.cs => 20251025204259_Initial.cs} (100%) diff --git a/api/src/Kurs.Platform.DbMigrator/Seeds/HostData.json b/api/src/Kurs.Platform.DbMigrator/Seeds/HostData.json index bf62fb93..70fad9dd 100644 --- a/api/src/Kurs.Platform.DbMigrator/Seeds/HostData.json +++ b/api/src/Kurs.Platform.DbMigrator/Seeds/HostData.json @@ -7817,7 +7817,7 @@ }, { "resourceName": "Platform", - "key": "App.Intranet.Training", + "key": "App.Hr.Training", "tr": "Eğitimler", "en": "Trainings" }, @@ -14557,16 +14557,6 @@ "RequiredPermissionName": "App.Intranet.Events.Event", "IsDisabled": false }, - { - "ParentCode": "App.Intranet", - "Code": "App.Intranet.Training", - "DisplayName": "App.Intranet.Training", - "Order": 2, - "Url": "/admin/list/list-training", - "Icon": "FcGraduationCap", - "RequiredPermissionName": "App.Intranet.Training", - "IsDisabled": false - }, { "ParentCode": "App.Intranet", "Code": "App.Intranet.Meal", @@ -15427,6 +15417,16 @@ "RequiredPermissionName": "App.Hr.Performance360", "IsDisabled": false }, + { + "ParentCode": "App.Hr", + "Code": "App.Hr.Training", + "DisplayName": "App.Hr.Training", + "Order": 13, + "Url": "/admin/list/list-training", + "Icon": "FcGraduationCap", + "RequiredPermissionName": "App.Hr.Training", + "IsDisabled": false + }, { "ParentCode": null, "Code": "App.Mrp", @@ -24685,6 +24685,69 @@ "MultiTenancySide": 3, "MenuGroup": "Erp" }, + { + "GroupName": "App.Hr", + "Name": "App.Hr.Training", + "ParentName": null, + "DisplayName": "App.Hr.Training", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Hr", + "Name": "App.Hr.Training.Create", + "ParentName": "App.Hr.Training", + "DisplayName": "Create", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Hr", + "Name": "App.Hr.Training.Update", + "ParentName": "App.Hr.Training", + "DisplayName": "Update", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Hr", + "Name": "App.Hr.Training.Delete", + "ParentName": "App.Hr.Training", + "DisplayName": "Delete", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Hr", + "Name": "App.Hr.Training.Export", + "ParentName": "App.Hr.Training", + "DisplayName": "Export", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Hr", + "Name": "App.Hr.Training.Import", + "ParentName": "App.Hr.Training", + "DisplayName": "Import", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, + { + "GroupName": "App.Hr", + "Name": "App.Hr.Training.Activity", + "ParentName": "App.Hr.Training", + "DisplayName": "Activity", + "IsEnabled": true, + "MultiTenancySide": 3, + "MenuGroup": "Erp" + }, { "GroupName": "App.Hr", "Name": "App.Hr.CostCenter", @@ -25063,69 +25126,6 @@ "MultiTenancySide": 3, "MenuGroup": "Kurs" }, - { - "GroupName": "App.Intranet", - "Name": "App.Intranet.Training", - "ParentName": null, - "DisplayName": "App.Intranet.Training", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Intranet", - "Name": "App.Intranet.Training.Create", - "ParentName": "App.Intranet.Training", - "DisplayName": "Create", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Intranet", - "Name": "App.Intranet.Training.Update", - "ParentName": "App.Intranet.Training", - "DisplayName": "Update", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Intranet", - "Name": "App.Intranet.Training.Delete", - "ParentName": "App.Intranet.Training", - "DisplayName": "Delete", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Intranet", - "Name": "App.Intranet.Training.Export", - "ParentName": "App.Intranet.Training", - "DisplayName": "Export", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Intranet", - "Name": "App.Intranet.Training.Import", - "ParentName": "App.Intranet.Training", - "DisplayName": "Import", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, - { - "GroupName": "App.Intranet", - "Name": "App.Intranet.Training.Activity", - "ParentName": "App.Intranet.Training", - "DisplayName": "Activity", - "IsEnabled": true, - "MultiTenancySide": 3, - "MenuGroup": "Erp" - }, { "GroupName": "App.Intranet", "Name": "App.Intranet.Meal", diff --git a/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormsSeeder.cs b/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormsSeeder.cs index 983c73d9..8358fc43 100644 --- a/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormsSeeder.cs +++ b/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormsSeeder.cs @@ -37815,13 +37815,13 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), CultureName = LanguageCodes.En, ListFormCode = ListFormCodes.Lists.Training, - Name = AppCodes.Intranet.Training, - Title = AppCodes.Intranet.Training, + Name = AppCodes.Hr.Training, + Title = AppCodes.Hr.Training, DataSourceCode = SeedConsts.DataSources.DefaultCode, IsTenant = true, IsBranch = false, IsOrganizationUnit = false, - Description = AppCodes.Intranet.Training, + Description = AppCodes.Hr.Training, SelectCommandType = SelectCommandTypeEnum.Table, SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Training)), KeyFieldName = "Id", @@ -37848,13 +37848,13 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new PermissionCrudDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", - D = AppCodes.Intranet.Training + ".Delete", - E = AppCodes.Intranet.Training + ".Export", - I = AppCodes.Intranet.Training + ".Import", - A = AppCodes.Intranet.Training + ".Activity", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", + D = AppCodes.Hr.Training + ".Delete", + E = AppCodes.Hr.Training + ".Export", + I = AppCodes.Hr.Training + ".Import", + A = AppCodes.Hr.Training + ".Activity", }), DeleteCommand = $"UPDATE \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.Training))}\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\"=@Id", DeleteFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { @@ -37949,7 +37949,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency new CommandColumnDto() { Hint = "Sertifikalar", Text = "Sertifikalar", - AuthName = AppCodes.Intranet.Training + ".Update", + AuthName = AppCodes.Hr.Training + ".Update", DialogName = "TrainingCertificates", DialogParameters = JsonSerializer.Serialize(new { name = "@Email", @@ -37984,9 +37984,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38018,9 +38018,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38049,9 +38049,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38083,9 +38083,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38130,9 +38130,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38175,9 +38175,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38206,9 +38206,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38237,9 +38237,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38268,9 +38268,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38302,9 +38302,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38336,9 +38336,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38367,9 +38367,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38398,9 +38398,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false @@ -38440,9 +38440,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { - C = AppCodes.Intranet.Training + ".Create", - R = AppCodes.Intranet.Training, - U = AppCodes.Intranet.Training + ".Update", + C = AppCodes.Hr.Training + ".Create", + R = AppCodes.Hr.Training, + U = AppCodes.Hr.Training + ".Update", E = true, I = true, Deny = false diff --git a/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs b/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs index 030b6296..f8e5b907 100644 --- a/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs +++ b/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs @@ -453,7 +453,6 @@ public static class SeedConsts public const string EventType = Events + ".EventType"; public const string EventCategory = Events + ".EventCategory"; public const string Event = Events + ".Event"; - public const string Training = Default + ".Training"; public const string Meal = Default + ".Meal"; public const string Reservation = Default + ".Reservation"; public const string ShuttleRoute = Default + ".ShuttleRoute"; @@ -464,6 +463,7 @@ public static class SeedConsts public static class Hr { public const string Default = Prefix.App + ".Hr"; + public const string Training = Default + ".Training"; public const string Department = Default + ".Department"; public const string Employee = Default + ".Employee"; public const string JobPosition = Default + ".JobPosition"; diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025202511_Initial.Designer.cs b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025204259_Initial.Designer.cs similarity index 99% rename from api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025202511_Initial.Designer.cs rename to api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025204259_Initial.Designer.cs index be30b059..dc938f26 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025202511_Initial.Designer.cs +++ b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025204259_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Kurs.Platform.Migrations { [DbContext(typeof(PlatformDbContext))] - [Migration("20251025202511_Initial")] + [Migration("20251025204259_Initial")] partial class Initial { /// diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025202511_Initial.cs b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025204259_Initial.cs similarity index 100% rename from api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025202511_Initial.cs rename to api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251025204259_Initial.cs diff --git a/ui/src/mocks/mockIntranet.ts b/ui/src/mocks/mockIntranet.ts index 2d9ef1a8..605f9ac8 100644 --- a/ui/src/mocks/mockIntranet.ts +++ b/ui/src/mocks/mockIntranet.ts @@ -593,7 +593,7 @@ export const mockCertificates: Certificate[] = [ export const mockMealMenus: MealMenu[] = [ { id: 'menu1', - date: new Date('2025-10-20'), + date: new Date('2025-10-27'), dayOfWeek: 'Pazartesi', meals: [ { @@ -605,7 +605,7 @@ export const mockMealMenus: MealMenu[] = [ }, { id: 'menu2', - date: new Date('2025-10-21'), + date: new Date('2025-10-28'), dayOfWeek: 'Salı', meals: [ { @@ -617,7 +617,7 @@ export const mockMealMenus: MealMenu[] = [ }, { id: 'menu3', - date: new Date('2025-10-22'), + date: new Date('2025-10-29'), dayOfWeek: 'Çarşamba', meals: [ { @@ -629,7 +629,7 @@ export const mockMealMenus: MealMenu[] = [ }, { id: 'menu4', - date: new Date('2025-10-23'), + date: new Date('2025-10-30'), dayOfWeek: 'Perşembe', meals: [ { @@ -641,7 +641,7 @@ export const mockMealMenus: MealMenu[] = [ }, { id: 'menu5', - date: new Date('2025-10-24'), + date: new Date('2025-10-31'), dayOfWeek: 'Cuma', meals: [ { diff --git a/ui/src/views/intranet/Dashboard.tsx b/ui/src/views/intranet/Dashboard.tsx index c62ab017..499fd748 100644 --- a/ui/src/views/intranet/Dashboard.tsx +++ b/ui/src/views/intranet/Dashboard.tsx @@ -96,6 +96,7 @@ const IntranetDashboard: React.FC = () => { setShowReservationModal(true)} /> + setShowExpenseModal(true)} />
@@ -109,7 +110,6 @@ const IntranetDashboard: React.FC = () => { setShowLeaveModal(true)} /> setShowOvertimeModal(true)} /> - setShowExpenseModal(true)} />
diff --git a/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx b/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx index 16fabe6f..dcca4b90 100644 --- a/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx +++ b/ui/src/views/intranet/widgets/MealWeeklyMenu.tsx @@ -3,6 +3,7 @@ import { FaUtensils } from 'react-icons/fa' import dayjs from 'dayjs' import isBetween from 'dayjs/plugin/isBetween' import { mockMealMenus } from '../../../mocks/mockIntranet' +import { Badge } from '@/components/ui' dayjs.extend(isBetween) @@ -25,47 +26,57 @@ const MealWeeklyMenu: React.FC = () => { -
- {mealWeekMenus.map((menu) => { - const isToday = dayjs(menu.date).isSame(dayjs(), 'day') - return ( -
-
-
-

- {menu.dayOfWeek} + {mealWeekMenus.length > 0 ? ( +
+ {mealWeekMenus.map((menu) => { + const isToday = dayjs(menu.date).isSame(dayjs(), 'day') + return ( +
+
+
+

+ {dayjs(menu.date).format('DD MMMM')} {menu.dayOfWeek} +

{isToday && ( Bugün )} -

-

- {dayjs(menu.date).format('DD MMMM')} -

+
+ {menu.meals[0]?.calories && ( +
+ {menu.meals[0].calories} kcal +
+ )} +
+
+ {menu.meals[0]?.items.map((item, idx) => ( + + ))}
-
- {menu.meals[0]?.items.slice(0, 3).map((item, idx) => ( -

- • {item} -

- ))} - {menu.meals[0]?.items.length > 3 && ( -

- +{menu.meals[0].items.length - 3} daha... -

- )} -
+ ) + })} +
+ ) : ( +
+
+
+
- ) - })} -
+
+

+ Haftalık menü henüz hazırlanmamış. Lütfen daha sonra tekrar kontrol edin. +

+
+
+ + )} ) }