diff --git a/configs/seeds/data/App.DevRequests/94639b65-1bb7-454a-ae73-3e1c5c9fe23a.json b/configs/seeds/data/App.DevRequests/94639b65-1bb7-454a-ae73-3e1c5c9fe23a.json index 7d820cfb..445c0196 100644 --- a/configs/seeds/data/App.DevRequests/94639b65-1bb7-454a-ae73-3e1c5c9fe23a.json +++ b/configs/seeds/data/App.DevRequests/94639b65-1bb7-454a-ae73-3e1c5c9fe23a.json @@ -20,7 +20,7 @@ "SortOrder": 0, "Timesheets": "[{\"id\":\"0c5d6e57-cd41-d35e-c9f1-3a242c961864\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Talep analiz edildi\",\"duration\":0.05},{\"id\":\"99de8851-e392-e03b-d64a-3a242c9ab570\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_Tag tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"3bed9f72-1d3a-3ffd-56fe-3a242c9ac581\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_ProjectRole tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"186f6edb-2fc7-081f-f60a-3a242c9acfc0\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_UserMonthRate tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"a9cfd13b-a29a-10ec-fe0e-3a242c9aea23\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_Project tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"2ac04b00-4219-5f4d-a6b0-3a242c9afdea\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_ProjectMember tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"d6c9ea9f-9b11-5c2a-521a-3a242c9b0f77\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_WorkPackage tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"e4c3c730-b405-b23e-4b2d-3a242c9b1ac3\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_WorkPackageMember tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"00026a8c-2ae2-6b78-27a9-3a242c9b28dd\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_WorkPackageMonthRate tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"2e46d8c1-142c-bf4e-a5ec-3a242c9b41ee\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_WorkPackageResource tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"7f1a65a5-3ce3-020a-318a-3a242c9b5abc\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_T_Diary tablosu olu\\u015Fturuldu\",\"duration\":0.0167},{\"id\":\"97a26991-0674-51fd-a744-3a242c9c805e\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_V_ProjectMember SQL nesnesi kaydedildi\",\"duration\":0.0167},{\"id\":\"07965202-c136-3919-d349-3a242c9cca1f\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_V_ProjectCostSummary SQL nesnesi kaydedildi\",\"duration\":0.0167},{\"id\":\"4ac9dc0a-ed18-1a64-0f6b-3a242c9ce55d\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_V_ResourceList SQL nesnesi kaydedildi\",\"duration\":0.0167},{\"id\":\"793b971e-4ba0-c894-3a7c-3a242c9d153e\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_V_PersonnelManMonth SQL nesnesi kaydedildi\",\"duration\":0.0167},{\"id\":\"77bc24de-223d-cf79-8333-3a242c9d642b\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_V_ManMonthGantt SQL nesnesi kaydedildi\",\"duration\":0.0167},{\"id\":\"94c9fa8c-340f-8a5c-e7a4-3a242c9dbb34\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Prj_V_BudgetMonthly SQL nesnesi kaydedildi\",\"duration\":0.0167},{\"id\":\"b2a26b45-9966-7dfb-a781-3a242c9e25b2\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Tag.json wizard\\u0027\\u0131 deploy edildi (17 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"82fba945-7e97-aef6-835e-3a242c9e97c2\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectRole.json wizard\\u0027\\u0131 deploy edildi (67 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"16c88834-05a4-9b69-20d6-3a242ca05973\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"UserMonthRate.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0333},{\"id\":\"e8592995-c02c-74f5-5e18-3a242ca0a546\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"WorkPackageMember.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"8b214260-7590-b34f-59fb-3a242ca0f705\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"WorkPackageMonthRate.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"20f46795-3021-ed40-afc0-3a242ca1b28c\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"WorkPackagePlanned.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"fd9d8c0d-8ae3-9a81-3cd2-3a242ca240e0\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"WorkPackageActual.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"e1b5e86b-cea2-1a6b-1837-3a242ca2d9f5\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"WorkPackage.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"b7c7d5cf-2196-9634-b3d2-3a242ca3539a\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Diary.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"118db059-01b4-ef91-ce51-3a242ca39652\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectSummary.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"e285e154-7597-f445-6be5-3a242ca3e3af\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectSupport.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"6b5406a6-42b2-5701-221c-3a242ca4196a\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectNeeds.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"44c3f703-9189-3030-e665-3a242ca4474d\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectActivities.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"d4ac329d-3294-0ac0-8b72-3a242ca47f9f\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectInnovation.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"4fc0f20a-990b-33f0-09e4-3a242ca4bc3e\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectOutputs.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"4dff87aa-65dc-2b90-c853-3a242ca51c15\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectMember.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"136b0c4c-4f89-adc3-7a9b-3a242ca727b4\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectMember.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0333},{\"id\":\"34498591-a692-9da8-4662-3a242ca78c7c\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ProjectCostSummary.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"7bb397e7-03b6-4207-850d-3a242ca82dd6\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Project.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"88a406c4-6764-5efe-0197-3a242ca980f9\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ManMonth.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"05389c41-f739-3e3b-b856-3a242ca9fa0a\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"ResourceList.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"7f533b3c-b7ac-677e-1867-3a242caa60fa\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"PersonnelManMonth.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"4e7f2077-36f2-580e-197c-3a242caac9d2\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"BudgetReport.json wizard\\u0027\\u0131 deploy edildi (0 demo sat\\u0131r)\",\"duration\":0.0167},{\"id\":\"94e5b0ca-86b3-b7bc-fa4d-3a242caae453\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"38 tamamlanm\\u0131\\u015F alt g\\u00F6rev eklendi\",\"duration\":0.0167},{\"id\":\"0089f993-7dac-72ec-7e71-3a242cab10c0\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"Analize \\u00FCretim notu eklendi\",\"duration\":0.0167},{\"id\":\"d30d4361-21a6-dc2f-8dd7-3a242cab65db\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"24485ad1-55fd-7c1b-4073-3a242cabaf20\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"f913ffb4-5315-20ae-5fba-3a242cabd7bb\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"75f2b514-7755-8997-c957-3a242cac237a\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"5935ada6-349c-99be-2b53-3a242cac509d\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"60a0d750-622e-9610-821c-3a242cac9521\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"93a967d3-1219-3cb8-64e7-3a242cacd59e\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"89ad5ab7-6ffc-81d3-ab3a-3a242cad1234\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"e081bab8-89ce-8fbd-ba62-3a242cad507e\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectSummary mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"5ff7bb04-4d89-5876-dc3b-3a242cad6833\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectSupport mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"52cc7e58-cd2e-811b-e9db-3a242cad808e\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectNeeds mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"5f9984ac-9da5-56f9-e983-3a242cad9821\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectActivities mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"170fe0c0-1bd4-1597-998d-3a242cadaded\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectInnovation mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"3f4eea78-aad0-9a48-ba59-3a242cadc5da\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectOutputs mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"262ddfb5-b688-2fbe-b903-3a242cadebdb\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectMember mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"0317ea23-2193-b839-35f4-3a242cae1818\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.ProjectCostSummary mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"4691624a-9a3d-f78a-1e42-3a242cae39d6\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.WorkPackageMember mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"502c1723-440a-fb2c-caa9-3a242cae59ca\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.WorkPackageMonthRate mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"26edff6a-d8bf-f8b4-4b17-3a242cae861a\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.WorkPackagePlanned mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167},{\"id\":\"ab486726-5a49-df85-3dc9-3a242caea804\",\"date\":\"2026-10-08\",\"userName\":\"system@sozsoft.com\",\"description\":\"App.Prj.WorkPackageActual mod\\u00FCl dok\\u00FCman\\u0131 kaydedildi\",\"duration\":0.0167}]", "SubTasks": "[{\"id\":\"470762f5-8610-cdd2-63e5-3a242caae402\",\"title\":\"create_table: Prj_T_Tag\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"99b2a6af-c2ee-4a39-5eb3-3a242caae402\",\"title\":\"create_table: Prj_T_ProjectRole\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"66fefd0d-0d05-bba0-5835-3a242caae402\",\"title\":\"create_table: Prj_T_UserMonthRate\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"8dc20f60-22b5-61b2-bb26-3a242caae402\",\"title\":\"create_table: Prj_T_Project\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"78ee4f0e-df44-463c-9df4-3a242caae402\",\"title\":\"create_table: Prj_T_ProjectMember\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"7f76b976-761f-392d-3711-3a242caae402\",\"title\":\"create_table: Prj_T_WorkPackage\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"51228de7-4b99-32e7-d942-3a242caae402\",\"title\":\"create_table: Prj_T_WorkPackageMember\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"8822408b-b037-4b8e-3a2d-3a242caae402\",\"title\":\"create_table: Prj_T_WorkPackageMonthRate\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"2979a390-6b37-8e87-5d10-3a242caae402\",\"title\":\"create_table: Prj_T_WorkPackageResource\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"bff85217-5ce3-389a-caaf-3a242caae402\",\"title\":\"create_table: Prj_T_Diary\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"d531d3a1-e22f-f16c-84a5-3a242caae402\",\"title\":\"save_sql_object: Prj_V_ProjectMember\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"6d6856ba-27a1-bf57-b712-3a242caae402\",\"title\":\"save_sql_object: Prj_V_ProjectCostSummary\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"dca76774-0915-428f-53c1-3a242caae402\",\"title\":\"save_sql_object: Prj_V_ResourceList\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"69228da0-869f-c426-4c65-3a242caae402\",\"title\":\"save_sql_object: Prj_V_PersonnelManMonth\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"70b1a589-24d0-573d-b7af-3a242caae402\",\"title\":\"save_sql_object: Prj_V_ManMonthGantt\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"d794c190-77f5-63f9-9ab5-3a242caae402\",\"title\":\"save_sql_object: Prj_V_BudgetMonthly\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"c19e9251-467a-0854-ff62-3a242caae402\",\"title\":\"deploy_wizard: Tag.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"9d7b5618-4b99-5427-ce98-3a242caae402\",\"title\":\"deploy_wizard: ProjectRole.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"fa1fa7cc-fa7d-aeab-9b2e-3a242caae402\",\"title\":\"deploy_wizard: UserMonthRate.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"9b372741-816e-8706-7ddb-3a242caae402\",\"title\":\"deploy_wizard: WorkPackageMember.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"fbd46c46-bdff-643c-f1a3-3a242caae402\",\"title\":\"deploy_wizard: WorkPackageMonthRate.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"3c53629c-d42b-a567-50ae-3a242caae402\",\"title\":\"deploy_wizard: WorkPackagePlanned.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"ca619154-dcaa-86ee-6586-3a242caae402\",\"title\":\"deploy_wizard: WorkPackageActual.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"cc79cd79-de19-b47c-d678-3a242caae402\",\"title\":\"deploy_wizard: WorkPackage.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"9f2095e7-b98d-a128-bc09-3a242caae402\",\"title\":\"deploy_wizard: Diary.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"6602b996-9c9f-807b-9903-3a242caae402\",\"title\":\"deploy_wizard: ProjectSummary.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"3bf4a0fb-e7b2-97a2-c079-3a242caae402\",\"title\":\"deploy_wizard: ProjectSupport.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"d37fb9fa-82c5-de77-4efb-3a242caae402\",\"title\":\"deploy_wizard: ProjectNeeds.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"42ad56e7-f792-fe6f-79d5-3a242caae402\",\"title\":\"deploy_wizard: ProjectActivities.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"8e4e8ea5-fc71-55df-20ce-3a242caae402\",\"title\":\"deploy_wizard: ProjectInnovation.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"0002faf4-a928-d50d-9cc5-3a242caae402\",\"title\":\"deploy_wizard: ProjectOutputs.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"58e66a8a-c805-94f8-396a-3a242caae402\",\"title\":\"deploy_wizard: ProjectMember.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"85db9c83-acad-8412-bfd2-3a242caae402\",\"title\":\"deploy_wizard: ProjectCostSummary.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"027f6d8b-6a4b-2c2f-3eb9-3a242caae402\",\"title\":\"deploy_wizard: Project.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"38dcdd1e-bc7a-36a0-2ad9-3a242caae402\",\"title\":\"deploy_wizard: ManMonth.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"1cb0ebcc-a1ff-0606-f5fb-3a242caae402\",\"title\":\"deploy_wizard: ResourceList.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"47639969-0307-c837-8060-3a242caae402\",\"title\":\"deploy_wizard: PersonnelManMonth.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true},{\"id\":\"3242df0a-2b94-736f-e597-3a242caae402\",\"title\":\"deploy_wizard: BudgetReport.json\",\"assignee\":\"system@sozsoft.com\",\"dueDate\":\"2026-10-08\",\"completed\":true}]", - "Analysis": "

1. Amaç

\n

Ar-Ge / destekli projelerin (TÜBİTAK, Ar-Ge Merkezi vb.) tek modülde yönetimi: proje kartı ve başvuru metinleri, proje takımı, iş paketleri (Gantt), personelin aylık adam/ay oranları, planlanan ve gerçekleşen maliyetler, günlük çalışma güncesi ve aylık bütçe takibi. Kullanıcılar: proje yöneticisi, Ar-Ge merkezi sorumlusu, proje personeli.

\n\n

2. Görsel analizi

\n\n\n

3. Çözüm yolu

\n

Tümü Wizard List. Tanımlar ve giriş ekranları tablo kaynaklı; Takım, Adam/Ay Gantt'ı, Kaynak Listesi, Personel Adam/Ay Oranları, Bütçe Raporu ve proje maliyet özeti hesaplı olduğundan SQL view + Query kaynağıyla. İş Paketleri ve Adam/Ay Oranları ile Bütçe Raporu Gantt görünümü (ScaleType: months) ile; sayısal ay hücreleri için aynı ekranlarda Pivot görünümü de açık. Proje detayı Contact ekranındaki gibi SubFormsDto sekmeleriyle. Custom component gerekmez.

\n\n

4. Menü yeri

\n

Proje Yönetimi › Tanımlamalar › {Etiketler | Görevler | Aylık Adam/Ay Oranları} ve Proje Yönetimi › {ekran}

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
SeviyeKodAd (TR / EN)İkonDurum
KökApp.PrjProje Yönetimi / Project ManagementFcGanttChartYeni
AraApp.Prj.DefinitionsTanımlamalar / DefinitionsFcFilingCabinetYeni (kök altında ilk sıra)
EkranApp.Prj.TagEtiketler / TagsFcBookmarkYeni
EkranApp.Prj.ProjectRoleGörevler / Project RolesFcListYeni
EkranApp.Prj.UserMonthRateAylık Adam/Ay Oranları / Monthly Man-Month RatesFcCalendarYeni
EkranApp.Prj.ProjectProjeler / ProjectsFcFolderYeni
EkranApp.Prj.WorkPackageİş Paketleri / Work PackagesFcGanttChartYeni (menülü, Proje'de sekme)
EkranApp.Prj.ManMonthAdam/Ay Oranları / Man-Month RatesFcTimelineYeni
EkranApp.Prj.DiaryGünce Listesi / Work DiaryFcPlannerYeni
EkranApp.Prj.ResourceListKaynak Listesi / Resource ListFcViewDetailsYeni
EkranApp.Prj.PersonnelManMonthPersonel Adam/Ay Oranları / Personnel Man-MonthFcBusinessmanYeni
EkranApp.Prj.BudgetReportProje Bütçe Raporu / Project Budget ReportFcComboChartYeni
\n

ModuleId: Prj · İzin grubu: App.Prj (Yeni) · Route: /admin/list/{ListFormCode}.
\nYetki: App.Prj › App.Prj.Definitions › App.Prj.Tag | ProjectRole | UserMonthRate (ara yetki Yeni); diğer ekranlar App.Prj › {ListFormCode}; alt formlar App.Prj › App.Prj.Project › App.Prj.Project{Sekme} ve App.Prj › App.Prj.WorkPackage › App.Prj.WorkPackage{Sekme}.

\n\n

5. Veri modeli

\n

Tüm tablolar yeni; kiracı + audit + soft delete (standing default). Kullanıcı bilgisi AbpUsers'tan (Name + Surname).

\n\n

View'lar: Prj_V_ProjectMember (takım + Paket Adedi, Adam/Ay Toplamı = Σ Rate/100, Çalışılan Ay, Toplam Maliyet = Adam/Ay × AvgMonthlyCost); Prj_V_ProjectCostSummary (proje × Planlanan/Gerçek × ResourceType pivot + Adam/Ay); Prj_V_ResourceList; Prj_V_PersonnelManMonth (WorkPackageMonthRate ⨝ UserMonthRate: Aya Düşen Oran = Rate × Aylık Oran/100, Gerçek Birim Maliyet = AvgMonthlyCost, Gerçek Toplam = Birim × Aya Düşen/100); Prj_V_ManMonthGantt (personel satırı + altında iş paketi satırları, Key/ParentKey metin, Start/End = ilk/son oranlı ay, Progress = ort. oran, OAA/TAA/TÇA kolonları); Prj_V_BudgetMonthly (proje × ResourceType × yıl-ay: Planlanan, Gerçek, Oran %).

\n\n

6. Alt form ağacı

\n

App.Prj.Project (Contact ekranı düzeni)

\n\n\n\n\n\n\n\n\n\n\n\n\n
SekmeHedefTabTypeMenüİlişkiEkle/Düzenle/SilYetki yolu
Proje ÖzetiApp.Prj.ProjectSummaryFormMenüsüzId → Id✓/✓/–App.Prj › App.Prj.Project › ProjectSummary
DestekApp.Prj.ProjectSupportFormMenüsüzId → Id✓/✓/–… › App.Prj.Project › ProjectSupport
İhtiyaçlarApp.Prj.ProjectNeedsFormMenüsüzId → Id✓/✓/–… › ProjectNeeds
FaaliyetlerApp.Prj.ProjectActivitiesFormMenüsüzId → Id✓/✓/–… › ProjectActivities
Yenilikçi YönüApp.Prj.ProjectInnovationFormMenüsüzId → Id✓/✓/–… › ProjectInnovation
Çıktı ve FaydalarıApp.Prj.ProjectOutputsFormMenüsüzId → Id✓/✓/–… › ProjectOutputs
TakımApp.Prj.ProjectMemberListMenüsüzId → ProjectId✓/✓/✓… › ProjectMember
İş PaketleriApp.Prj.WorkPackageListMenülüId → ProjectId✓/✓/✓kendi dalı
Adam/Ay ve Detaylı Maliyet RaporuApp.Prj.ProjectCostSummaryListMenüsüzId → ProjectId–/–/–… › ProjectCostSummary
GünceApp.Prj.DiaryListMenülüId → ProjectId✓/✓/✓kendi dalı
\n

App.Prj.WorkPackage

\n\n\n\n\n\n\n
SekmeHedefTabTypeMenüİlişkiEkle/Düzenle/SilYetki yolu
PersonelApp.Prj.WorkPackageMemberListMenüsüzId → WorkPackageId✓/✓/✓App.Prj › App.Prj.WorkPackage › WorkPackageMember
Adam/AyApp.Prj.WorkPackageMonthRateListMenüsüzId → WorkPackageId✓/✓/✓… › WorkPackageMonthRate
Planlanan KaynaklarApp.Prj.WorkPackagePlannedListMenüsüzId → WorkPackageId✓/✓/✓… › WorkPackagePlanned
Gerçekleşen MasraflarApp.Prj.WorkPackageActualListMenüsüzId → WorkPackageId✓/✓/✓… › WorkPackageActual
\n\n

7. Etkilenen kısımlar

\n\n\n

8. Görünümler ve davranış

\n\n\n

9. Kararlar

\n\n\n

10. Üretim planı

\n
    \n
  1. create_table: Prj_T_Tag
  2. \n
  3. create_table: Prj_T_ProjectRole
  4. \n
  5. create_table: Prj_T_UserMonthRate
  6. \n
  7. create_table: Prj_T_Project
  8. \n
  9. create_table: Prj_T_ProjectMember
  10. \n
  11. create_table: Prj_T_WorkPackage
  12. \n
  13. create_table: Prj_T_WorkPackageMember
  14. \n
  15. create_table: Prj_T_WorkPackageMonthRate
  16. \n
  17. create_table: Prj_T_WorkPackageResource
  18. \n
  19. create_table: Prj_T_Diary
  20. \n
  21. save_sql_object: Prj_V_ProjectMember
  22. \n
  23. save_sql_object: Prj_V_ProjectCostSummary
  24. \n
  25. save_sql_object: Prj_V_ResourceList
  26. \n
  27. save_sql_object: Prj_V_PersonnelManMonth
  28. \n
  29. save_sql_object: Prj_V_ManMonthGantt
  30. \n
  31. save_sql_object: Prj_V_BudgetMonthly
  32. \n
  33. deploy_wizard: Tag.json
  34. \n
  35. deploy_wizard: ProjectRole.json
  36. \n
  37. deploy_wizard: UserMonthRate.json
  38. \n
  39. deploy_wizard: WorkPackageMember.json
  40. \n
  41. deploy_wizard: WorkPackageMonthRate.json
  42. \n
  43. deploy_wizard: WorkPackagePlanned.json
  44. \n
  45. deploy_wizard: WorkPackageActual.json
  46. \n
  47. deploy_wizard: WorkPackage.json
  48. \n
  49. deploy_wizard: Diary.json
  50. \n
  51. deploy_wizard: ProjectSummary.json
  52. \n
  53. deploy_wizard: ProjectSupport.json
  54. \n
  55. deploy_wizard: ProjectNeeds.json
  56. \n
  57. deploy_wizard: ProjectActivities.json
  58. \n
  59. deploy_wizard: ProjectInnovation.json
  60. \n
  61. deploy_wizard: ProjectOutputs.json
  62. \n
  63. deploy_wizard: ProjectMember.json
  64. \n
  65. deploy_wizard: ProjectCostSummary.json
  66. \n
  67. deploy_wizard: Project.json
  68. \n
  69. deploy_wizard: ManMonth.json
  70. \n
  71. deploy_wizard: ResourceList.json
  72. \n
  73. deploy_wizard: PersonnelManMonth.json
  74. \n
  75. deploy_wizard: BudgetReport.json
  76. \n
\n\n

11. Üretime hazır

\n

Evet

MCP

\n

Üretilenler: 10 tablo (Prj_T_*), 6 view (Prj_V_*; SQL Server + PostgreSQL), 22 wizard. Menü: Proje Yönetimi (App.Prj) › Tanımlamalar (Etiketler, Görevler, Aylık Adam/Ay Oranları) ve Projeler, İş Paketleri, Adam/Ay Oranları, Günce Listesi, Kaynak Listesi, Personel Adam/Ay Oranları, Proje Bütçe Raporu. İzin grubu App.Prj, ModuleId Prj.

\n

Demo veri: 17 etiket, 67 görev. Aylık Adam/Ay demo satırları eklenmedi (görseldeki personel AbpUsers'ta yok).

\n

Varsayımlar / sapmalar:

\n\n

DB Migrate bekleyen wizard'lar: 22 wizard'ın tamamı (isPending). Migrate'ten sonra ekranlar, menü, yetkiler ve demo veri kurulur.

" + "Analysis": "

1. Amaç

\n

Ar-Ge / destekli projelerin (TÜBİTAK, Ar-Ge Merkezi vb.) tek modülde yönetimi: proje kartı ve başvuru metinleri, proje takımı, iş paketleri (Gantt), personelin aylık adam/ay oranları, planlanan ve gerçekleşen maliyetler, günlük çalışma güncesi ve aylık bütçe takibi. Kullanıcılar: proje yöneticisi, Ar-Ge merkezi sorumlusu, proje personeli.

\n\n

2. Görsel analizi

\n\n\n

3. Çözüm yolu

\n

Tümü Wizard List. Tanımlar ve giriş ekranları tablo kaynaklı; Takım, Adam/Ay Gantt'ı, Kaynak Listesi, Personel Adam/Ay Oranları, Bütçe Raporu ve proje maliyet özeti hesaplı olduğundan SQL view + Query kaynağıyla. İş Paketleri ve Adam/Ay Oranları ile Bütçe Raporu Gantt görünümü (ScaleType: months) ile; sayısal ay hücreleri için aynı ekranlarda Pivot görünümü de açık. Proje detayı Contact ekranındaki gibi SubFormsDto sekmeleriyle. Custom component gerekmez.

\n\n

4. Menü yeri

\n

Proje › Tanımlamalar › {Etiketler | Görevler | Aylık Adam/Ay Oranları} ve Proje › {ekran}

\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
SeviyeKodAd (TR / EN)İkonDurum
KökApp.PrjProje / ProjectFcGanttChartYeni
AraApp.Prj.DefinitionsTanımlamalar / DefinitionsFcFilingCabinetYeni (kök altında ilk sıra)
EkranApp.Prj.TagEtiketler / TagsFcBookmarkYeni
EkranApp.Prj.ProjectRoleGörevler / Project RolesFcListYeni
EkranApp.Prj.UserMonthRateAylık Adam/Ay Oranları / Monthly Man-Month RatesFcCalendarYeni
EkranApp.Prj.ProjectProjeler / ProjectsFcFolderYeni
EkranApp.Prj.WorkPackageİş Paketleri / Work PackagesFcGanttChartYeni (menülü, Proje'de sekme)
EkranApp.Prj.ManMonthAdam/Ay Oranları / Man-Month RatesFcTimelineYeni
EkranApp.Prj.DiaryGünce Listesi / Work DiaryFcPlannerYeni
EkranApp.Prj.ResourceListKaynak Listesi / Resource ListFcViewDetailsYeni
EkranApp.Prj.PersonnelManMonthPersonel Adam/Ay Oranları / Personnel Man-MonthFcBusinessmanYeni
EkranApp.Prj.BudgetReportProje Bütçe Raporu / Project Budget ReportFcComboChartYeni
\n

ModuleId: Prj · İzin grubu: App.Prj (Yeni) · Route: /admin/list/{ListFormCode}.
\nYetki: App.Prj › App.Prj.Definitions › App.Prj.Tag | ProjectRole | UserMonthRate (ara yetki Yeni); diğer ekranlar App.Prj › {ListFormCode}; alt formlar App.Prj › App.Prj.Project › App.Prj.Project{Sekme} ve App.Prj › App.Prj.WorkPackage › App.Prj.WorkPackage{Sekme}.

\n\n

5. Veri modeli

\n

Tüm tablolar yeni; kiracı + audit + soft delete (standing default). Kullanıcı bilgisi AbpUsers'tan (Name + Surname).

\n\n

View'lar: Prj_V_ProjectMember (takım + Paket Adedi, Adam/Ay Toplamı = Σ Rate/100, Çalışılan Ay, Toplam Maliyet = Adam/Ay × AvgMonthlyCost); Prj_V_ProjectCostSummary (proje × Planlanan/Gerçek × ResourceType pivot + Adam/Ay); Prj_V_ResourceList; Prj_V_PersonnelManMonth (WorkPackageMonthRate ⨝ UserMonthRate: Aya Düşen Oran = Rate × Aylık Oran/100, Gerçek Birim Maliyet = AvgMonthlyCost, Gerçek Toplam = Birim × Aya Düşen/100); Prj_V_ManMonthGantt (personel satırı + altında iş paketi satırları, Key/ParentKey metin, Start/End = ilk/son oranlı ay, Progress = ort. oran, OAA/TAA/TÇA kolonları); Prj_V_BudgetMonthly (proje × ResourceType × yıl-ay: Planlanan, Gerçek, Oran %).

\n\n

6. Alt form ağacı

\n

App.Prj.Project (Contact ekranı düzeni)

\n\n\n\n\n\n\n\n\n\n\n\n\n
SekmeHedefTabTypeMenüİlişkiEkle/Düzenle/SilYetki yolu
Proje ÖzetiApp.Prj.ProjectSummaryFormMenüsüzId → Id✓/✓/–App.Prj › App.Prj.Project › ProjectSummary
DestekApp.Prj.ProjectSupportFormMenüsüzId → Id✓/✓/–… › App.Prj.Project › ProjectSupport
İhtiyaçlarApp.Prj.ProjectNeedsFormMenüsüzId → Id✓/✓/–… › ProjectNeeds
FaaliyetlerApp.Prj.ProjectActivitiesFormMenüsüzId → Id✓/✓/–… › ProjectActivities
Yenilikçi YönüApp.Prj.ProjectInnovationFormMenüsüzId → Id✓/✓/–… › ProjectInnovation
Çıktı ve FaydalarıApp.Prj.ProjectOutputsFormMenüsüzId → Id✓/✓/–… › ProjectOutputs
TakımApp.Prj.ProjectMemberListMenüsüzId → ProjectId✓/✓/✓… › ProjectMember
İş PaketleriApp.Prj.WorkPackageListMenülüId → ProjectId✓/✓/✓kendi dalı
Adam/Ay ve Detaylı Maliyet RaporuApp.Prj.ProjectCostSummaryListMenüsüzId → ProjectId–/–/–… › ProjectCostSummary
GünceApp.Prj.DiaryListMenülüId → ProjectId✓/✓/✓kendi dalı
\n

App.Prj.WorkPackage

\n\n\n\n\n\n\n
SekmeHedefTabTypeMenüİlişkiEkle/Düzenle/SilYetki yolu
PersonelApp.Prj.WorkPackageMemberListMenüsüzId → WorkPackageId✓/✓/✓App.Prj › App.Prj.WorkPackage › WorkPackageMember
Adam/AyApp.Prj.WorkPackageMonthRateListMenüsüzId → WorkPackageId✓/✓/✓… › WorkPackageMonthRate
Planlanan KaynaklarApp.Prj.WorkPackagePlannedListMenüsüzId → WorkPackageId✓/✓/✓… › WorkPackagePlanned
Gerçekleşen MasraflarApp.Prj.WorkPackageActualListMenüsüzId → WorkPackageId✓/✓/✓… › WorkPackageActual
\n\n

7. Etkilenen kısımlar

\n\n\n

8. Görünümler ve davranış

\n\n\n

9. Kararlar

\n\n\n

10. Üretim planı

\n
    \n
  1. create_table: Prj_T_Tag
  2. \n
  3. create_table: Prj_T_ProjectRole
  4. \n
  5. create_table: Prj_T_UserMonthRate
  6. \n
  7. create_table: Prj_T_Project
  8. \n
  9. create_table: Prj_T_ProjectMember
  10. \n
  11. create_table: Prj_T_WorkPackage
  12. \n
  13. create_table: Prj_T_WorkPackageMember
  14. \n
  15. create_table: Prj_T_WorkPackageMonthRate
  16. \n
  17. create_table: Prj_T_WorkPackageResource
  18. \n
  19. create_table: Prj_T_Diary
  20. \n
  21. save_sql_object: Prj_V_ProjectMember
  22. \n
  23. save_sql_object: Prj_V_ProjectCostSummary
  24. \n
  25. save_sql_object: Prj_V_ResourceList
  26. \n
  27. save_sql_object: Prj_V_PersonnelManMonth
  28. \n
  29. save_sql_object: Prj_V_ManMonthGantt
  30. \n
  31. save_sql_object: Prj_V_BudgetMonthly
  32. \n
  33. deploy_wizard: Tag.json
  34. \n
  35. deploy_wizard: ProjectRole.json
  36. \n
  37. deploy_wizard: UserMonthRate.json
  38. \n
  39. deploy_wizard: WorkPackageMember.json
  40. \n
  41. deploy_wizard: WorkPackageMonthRate.json
  42. \n
  43. deploy_wizard: WorkPackagePlanned.json
  44. \n
  45. deploy_wizard: WorkPackageActual.json
  46. \n
  47. deploy_wizard: WorkPackage.json
  48. \n
  49. deploy_wizard: Diary.json
  50. \n
  51. deploy_wizard: ProjectSummary.json
  52. \n
  53. deploy_wizard: ProjectSupport.json
  54. \n
  55. deploy_wizard: ProjectNeeds.json
  56. \n
  57. deploy_wizard: ProjectActivities.json
  58. \n
  59. deploy_wizard: ProjectInnovation.json
  60. \n
  61. deploy_wizard: ProjectOutputs.json
  62. \n
  63. deploy_wizard: ProjectMember.json
  64. \n
  65. deploy_wizard: ProjectCostSummary.json
  66. \n
  67. deploy_wizard: Project.json
  68. \n
  69. deploy_wizard: ManMonth.json
  70. \n
  71. deploy_wizard: ResourceList.json
  72. \n
  73. deploy_wizard: PersonnelManMonth.json
  74. \n
  75. deploy_wizard: BudgetReport.json
  76. \n
\n\n

11. Üretime hazır

\n

Evet

MCP

\n

Üretilenler: 10 tablo (Prj_T_*), 6 view (Prj_V_*; SQL Server + PostgreSQL), 22 wizard. Menü: Proje (App.Prj) › Tanımlamalar (Etiketler, Görevler, Aylık Adam/Ay Oranları) ve Projeler, İş Paketleri, Adam/Ay Oranları, Günce Listesi, Kaynak Listesi, Personel Adam/Ay Oranları, Proje Bütçe Raporu. İzin grubu App.Prj, ModuleId Prj.

\n

Demo veri: 17 etiket, 67 görev. Aylık Adam/Ay demo satırları eklenmedi (görseldeki personel AbpUsers'ta yok).

\n

Varsayımlar / sapmalar:

\n\n

DB Migrate bekleyen wizard'lar: 22 wizard'ın tamamı (isPending). Migrate'ten sonra ekranlar, menü, yetkiler ve demo veri kurulur.

" } ] } diff --git a/configs/seeds/data/App.Languages.LanguageText.json b/configs/seeds/data/App.Languages.LanguageText.json index 8d91238c..8567cbe3 100644 --- a/configs/seeds/data/App.Languages.LanguageText.json +++ b/configs/seeds/data/App.Languages.LanguageText.json @@ -21597,7 +21597,7 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.ConsultingFeatures.Project", - "Value": "Project Management Consulting" + "Value": "Project Consulting" }, { "Id": "43fbe0b5-1eb7-53ce-8806-cd567933c48b", @@ -90225,28 +90225,28 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.Tag.Desc", - "Value": "Tags — colored labels that are attached to projects so they can be grouped and filtered.\nWhere: Project Management › Definitions › Tags.\nFields: name (unique per tenant), color shown as a dot in lists and in the project's tag box, active flag.\nOnly active tags can be chosen on the Projects screen (Tags field)." + "Value": "Tags — colored labels that are attached to projects so they can be grouped and filtered.\nWhere: Project › Definitions › Tags.\nFields: name (unique per tenant), color shown as a dot in lists and in the project's tag box, active flag.\nOnly active tags can be chosen on the Projects screen (Tags field)." }, { "Id": "963308ab-0279-5f44-813d-ec8a46a0105f", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.Tag.Desc", - "Value": "Etiketler — projelere eklenen, gruplama ve filtreleme için kullanılan renkli etiketler.\nNerede: Proje Yönetimi › Tanımlamalar › Etiketler.\nAlanlar: ad (kiracı içinde benzersiz), listelerde ve proje etiket kutusunda nokta olarak görünen renk, aktiflik.\nProjeler ekranındaki Etiketler alanında yalnızca aktif etiketler seçilebilir." + "Value": "Etiketler — projelere eklenen, gruplama ve filtreleme için kullanılan renkli etiketler.\nNerede: Proje › Tanımlamalar › Etiketler.\nAlanlar: ad (kiracı içinde benzersiz), listelerde ve proje etiket kutusunda nokta olarak görünen renk, aktiflik.\nProjeler ekranındaki Etiketler alanında yalnızca aktif etiketler seçilebilir." }, { "Id": "5bc81a49-db1e-5c9b-9669-cb72fe8d7e05", "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj", - "Value": "Project Management" + "Value": "Project" }, { "Id": "e79e9afd-119b-59c7-a35d-ba98a78383aa", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj", - "Value": "Proje Yönetimi" + "Value": "Proje" }, { "Id": "7dd26294-88b2-5cb9-8767-9d99843f3f43", @@ -90295,14 +90295,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectRole.Desc", - "Value": "Project Roles — the roles personnel take in projects (e.g. R&D Engineer, Project Coordinator).\nWhere: Project Management › Definitions › Project Roles.\nFields: role name (unique per tenant) and active flag.\nUsed as the Role lookup on the project Team tab; only active roles can be selected." + "Value": "Project Roles — the roles personnel take in projects (e.g. R&D Engineer, Project Coordinator).\nWhere: Project › Definitions › Project Roles.\nFields: role name (unique per tenant) and active flag.\nUsed as the Role lookup on the project Team tab; only active roles can be selected." }, { "Id": "73b77af5-fd65-5f34-b4c3-06c7c17fe9e9", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectRole.Desc", - "Value": "Görev Listesi — personelin projelerde üstlendiği görevler (ör. Ar-Ge Mühendisi, Proje Koordinatörü).\nNerede: Proje Yönetimi › Tanımlamalar › Görevler.\nAlanlar: görev adı (kiracı içinde benzersiz) ve aktiflik.\nProje kartının Takım sekmesinde Görev seçimi buradan gelir; yalnızca aktif görevler seçilebilir." + "Value": "Görev Listesi — personelin projelerde üstlendiği görevler (ör. Ar-Ge Mühendisi, Proje Koordinatörü).\nNerede: Proje › Tanımlamalar › Görevler.\nAlanlar: görev adı (kiracı içinde benzersiz) ve aktiflik.\nProje kartının Takım sekmesinde Görev seçimi buradan gelir; yalnızca aktif görevler seçilebilir." }, { "Id": "4357b56e-cf47-5a3b-a95f-0ced7a477005", @@ -90351,14 +90351,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.UserMonthRate.Desc", - "Value": "Monthly Man-Month Rates — each employee's overall working rate (%) per year and month, used by R&D centre style reporting.\nWhere: Project Management › Definitions › Monthly Man-Month Rates.\nFields: employee, month, year, rate (default 100). One row per employee and month.\nThe Personnel Man-Month report multiplies the work package rate with this monthly rate to find the effective rate and real cost." + "Value": "Monthly Man-Month Rates — each employee's overall working rate (%) per year and month, used by R&D centre style reporting.\nWhere: Project › Definitions › Monthly Man-Month Rates.\nFields: employee, month, year, rate (default 100). One row per employee and month.\nThe Personnel Man-Month report multiplies the work package rate with this monthly rate to find the effective rate and real cost." }, { "Id": "b9201410-aa03-59c6-a847-f873373781a4", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.UserMonthRate.Desc", - "Value": "Aylık Adam/Ay Oranları — personelin yıl ve ay bazındaki genel çalışma oranı (%); Ar-Ge merkezi raporlaması için kullanılır.\nNerede: Proje Yönetimi › Tanımlamalar › Aylık Adam/Ay Oranları.\nAlanlar: personel, ay, yıl, oran (varsayılan 100). Personel ve ay başına tek satır.\nPersonel Adam/Ay Oranları raporu iş paketi oranını bu aylık oranla çarparak aya düşen çalışma oranını ve gerçek maliyeti hesaplar." + "Value": "Aylık Adam/Ay Oranları — personelin yıl ve ay bazındaki genel çalışma oranı (%); Ar-Ge merkezi raporlaması için kullanılır.\nNerede: Proje › Tanımlamalar › Aylık Adam/Ay Oranları.\nAlanlar: personel, ay, yıl, oran (varsayılan 100). Personel ve ay başına tek satır.\nPersonel Adam/Ay Oranları raporu iş paketi oranını bu aylık oranla çarparak aya düşen çalışma oranını ve gerçek maliyeti hesaplar." }, { "Id": "11cb9ea4-98e0-5ada-bc96-3cee19de124b", @@ -90617,14 +90617,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.WorkPackageMember.Desc", - "Value": "Work Package Personnel — the employees who work on the selected work package.\nWhere: Project Management › Work Packages › Personnel tab (also reached from the project card).\nFields: employee (one row per employee per package).\nPackage counts on the project Team tab are calculated from these rows." + "Value": "Work Package Personnel — the employees who work on the selected work package.\nWhere: Project › Work Packages › Personnel tab (also reached from the project card).\nFields: employee (one row per employee per package).\nPackage counts on the project Team tab are calculated from these rows." }, { "Id": "1ce4d586-37d7-534a-b6e3-5d24e3e0a5fd", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.WorkPackageMember.Desc", - "Value": "İş Paketi Personeli — seçili iş paketinde çalışan personel.\nNerede: Proje Yönetimi › İş Paketleri ekranının Personel sekmesi (proje kartından da açılır).\nAlanlar: personel (paket başına personel tek satır).\nProje kartının Takım sekmesindeki Paket Adedi bu satırlardan hesaplanır." + "Value": "İş Paketi Personeli — seçili iş paketinde çalışan personel.\nNerede: Proje › İş Paketleri ekranının Personel sekmesi (proje kartından da açılır).\nAlanlar: personel (paket başına personel tek satır).\nProje kartının Takım sekmesindeki Paket Adedi bu satırlardan hesaplanır." }, { "Id": "7c781804-ec76-596c-85be-0cdf0c8efb07", @@ -90673,14 +90673,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.WorkPackageMonthRate.Desc", - "Value": "Work Package Man-Month — the percentage of each month an employee spends on the selected work package.\nWhere: Project Management › Work Packages › Man-Month tab.\nFields: employee, month, year, rate (0–100). One row per employee and month.\nThe Man-Month Gantt, Team totals and Personnel Man-Month report are all calculated from these rows." + "Value": "Work Package Man-Month — the percentage of each month an employee spends on the selected work package.\nWhere: Project › Work Packages › Man-Month tab.\nFields: employee, month, year, rate (0–100). One row per employee and month.\nThe Man-Month Gantt, Team totals and Personnel Man-Month report are all calculated from these rows." }, { "Id": "02964cef-01fe-57a2-9533-b7f213f2d73d", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.WorkPackageMonthRate.Desc", - "Value": "İş Paketi Adam/Ay — personelin ilgili ayda seçili iş paketine ayırdığı yüzde.\nNerede: Proje Yönetimi › İş Paketleri ekranının Adam/Ay sekmesi.\nAlanlar: personel, ay, yıl, oran (0–100). Personel ve ay başına tek satır.\nAdam/Ay Oranları Gantt'ı, Takım toplamları ve Personel Adam/Ay Oranları raporu bu satırlardan hesaplanır." + "Value": "İş Paketi Adam/Ay — personelin ilgili ayda seçili iş paketine ayırdığı yüzde.\nNerede: Proje › İş Paketleri ekranının Adam/Ay sekmesi.\nAlanlar: personel, ay, yıl, oran (0–100). Personel ve ay başına tek satır.\nAdam/Ay Oranları Gantt'ı, Takım toplamları ve Personel Adam/Ay Oranları raporu bu satırlardan hesaplanır." }, { "Id": "22f686a5-67c4-5d83-9cef-233e0cb20737", @@ -90715,14 +90715,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.WorkPackagePlanned.Desc", - "Value": "Planned Resources — budgeted costs of the selected work package: personnel, travel, equipment, consulting, service, material and other.\nWhere: Project Management › Work Packages › Planned Resources tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the cost summary and the budget report as 'Planned'." + "Value": "Planned Resources — budgeted costs of the selected work package: personnel, travel, equipment, consulting, service, material and other.\nWhere: Project › Work Packages › Planned Resources tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the cost summary and the budget report as 'Planned'." }, { "Id": "5ec57497-fc02-55f9-90a8-85e27725802d", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.WorkPackagePlanned.Desc", - "Value": "Planlanan Kaynaklar — seçili iş paketinin bütçelenen maliyetleri: personel, seyahat, ekipman, danışmanlık, hizmet, malzeme ve diğer.\nNerede: Proje Yönetimi › İş Paketleri ekranının Planlanan Kaynaklar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar maliyet özeti ve bütçe raporuna 'Planlanan' olarak yansır." + "Value": "Planlanan Kaynaklar — seçili iş paketinin bütçelenen maliyetleri: personel, seyahat, ekipman, danışmanlık, hizmet, malzeme ve diğer.\nNerede: Proje › İş Paketleri ekranının Planlanan Kaynaklar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar maliyet özeti ve bütçe raporuna 'Planlanan' olarak yansır." }, { "Id": "88fcea42-7930-5159-af60-ce7cf83255ca", @@ -90897,14 +90897,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.WorkPackageActual.Desc", - "Value": "Actual Expenses — realised costs of the selected work package, entered the same way as planned resources.\nWhere: Project Management › Work Packages › Actual Expenses tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the Resource List, cost summary and budget report as 'Actual'; the document date decides the budget month." + "Value": "Actual Expenses — realised costs of the selected work package, entered the same way as planned resources.\nWhere: Project › Work Packages › Actual Expenses tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the Resource List, cost summary and budget report as 'Actual'; the document date decides the budget month." }, { "Id": "8bfcb345-f834-589e-8891-99c8ca180242", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.WorkPackageActual.Desc", - "Value": "Gerçekleşen Masraflar — seçili iş paketinin gerçekleşen maliyetleri; planlanan kaynaklarla aynı biçimde girilir.\nNerede: Proje Yönetimi › İş Paketleri ekranının Gerçekleşen Masraflar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar Kaynak Listesi, maliyet özeti ve bütçe raporuna 'Gerçek' olarak yansır; bütçe ayı belge tarihinden alınır." + "Value": "Gerçekleşen Masraflar — seçili iş paketinin gerçekleşen maliyetleri; planlanan kaynaklarla aynı biçimde girilir.\nNerede: Proje › İş Paketleri ekranının Gerçekleşen Masraflar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar Kaynak Listesi, maliyet özeti ve bütçe raporuna 'Gerçek' olarak yansır; bütçe ayı belge tarihinden alınır." }, { "Id": "a2388aae-b76f-55ca-aefc-f6e190ce4fb7", @@ -90939,14 +90939,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.WorkPackage.Desc", - "Value": "Work Packages — the hierarchical work plan of projects shown as a Gantt chart on a monthly scale (1 → 1.01, 1.02 …).\nWhere: Project Management › Work Packages; also the Work Packages tab of the project card.\nFields: project, parent package, code, name, start and end date, months (calculated), progress %, colour, note. Tasks can be added and moved directly on the Gantt.\nTabs: Personnel, Man-Month (monthly rates per employee), Planned Resources and Actual Expenses." + "Value": "Work Packages — the hierarchical work plan of projects shown as a Gantt chart on a monthly scale (1 → 1.01, 1.02 …).\nWhere: Project › Work Packages; also the Work Packages tab of the project card.\nFields: project, parent package, code, name, start and end date, months (calculated), progress %, colour, note. Tasks can be added and moved directly on the Gantt.\nTabs: Personnel, Man-Month (monthly rates per employee), Planned Resources and Actual Expenses." }, { "Id": "5821af52-950d-590d-ab5c-3c858560429b", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.WorkPackage.Desc", - "Value": "İş Paketleri — projelerin hiyerarşik iş planı; ay ölçeğinde Gantt olarak gösterilir (1 → 1.01, 1.02 …).\nNerede: Proje Yönetimi › İş Paketleri; ayrıca proje kartının İş Paketleri sekmesi.\nAlanlar: proje, üst paket, kod, ad, başlangıç ve bitiş tarihi, ay (hesaplanır), ilerleme %, renk, not. Görevler Gantt üzerinde doğrudan eklenip taşınabilir.\nSekmeler: Personel, Adam/Ay (personel bazında aylık oranlar), Planlanan Kaynaklar ve Gerçekleşen Masraflar." + "Value": "İş Paketleri — projelerin hiyerarşik iş planı; ay ölçeğinde Gantt olarak gösterilir (1 → 1.01, 1.02 …).\nNerede: Proje › İş Paketleri; ayrıca proje kartının İş Paketleri sekmesi.\nAlanlar: proje, üst paket, kod, ad, başlangıç ve bitiş tarihi, ay (hesaplanır), ilerleme %, renk, not. Görevler Gantt üzerinde doğrudan eklenip taşınabilir.\nSekmeler: Personel, Adam/Ay (personel bazında aylık oranlar), Planlanan Kaynaklar ve Gerçekleşen Masraflar." }, { "Id": "97e2e83b-ccec-5279-9f58-bf241b1a5683", @@ -91037,14 +91037,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.Diary.Desc", - "Value": "Work Diary — daily notes in which personnel record what they worked on, per project and work package.\nWhere: Project Management › Work Diary; also the Diary tab of the project card.\nFields: project, work package (filtered by project), start and end time, minutes (calculated), user (defaults to the signed-in user), computer name, diary text (rich HTML editor).\nMinutes = time between start and end, calculated automatically." + "Value": "Work Diary — daily notes in which personnel record what they worked on, per project and work package.\nWhere: Project › Work Diary; also the Diary tab of the project card.\nFields: project, work package (filtered by project), start and end time, minutes (calculated), user (defaults to the signed-in user), computer name, diary text (rich HTML editor).\nMinutes = time between start and end, calculated automatically." }, { "Id": "23739f3d-5022-5720-891f-f0e48b944d6b", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.Diary.Desc", - "Value": "Günce Listesi — personelin proje ve iş paketine göre günlük yaptığı çalışmaları yazdığı liste.\nNerede: Proje Yönetimi › Günce Listesi; ayrıca proje kartının Günce sekmesi.\nAlanlar: proje, iş paketi (projeye göre süzülür), başlangıç ve bitiş zamanı, dakika (hesaplanır), kullanıcı (varsayılan oturumdaki kullanıcı), bilgisayar adı, günce metni (HTML editör).\nDakika = başlangıç ile bitiş arasındaki süre, otomatik hesaplanır." + "Value": "Günce Listesi — personelin proje ve iş paketine göre günlük yaptığı çalışmaları yazdığı liste.\nNerede: Proje › Günce Listesi; ayrıca proje kartının Günce sekmesi.\nAlanlar: proje, iş paketi (projeye göre süzülür), başlangıç ve bitiş zamanı, dakika (hesaplanır), kullanıcı (varsayılan oturumdaki kullanıcı), bilgisayar adı, günce metni (HTML editör).\nDakika = başlangıç ile bitiş arasındaki süre, otomatik hesaplanır." }, { "Id": "e9b69642-6adc-59e0-9076-56fe0ecd6655", @@ -91121,14 +91121,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectSummary.Desc", - "Value": "Project Summary — the free-text summary of the project written in a rich HTML editor.\nWhere: Project Management › Projects › Project Summary tab.\nFields: Summary (HTML).\nEdits the same project record as the main card; there is no separate table." + "Value": "Project Summary — the free-text summary of the project written in a rich HTML editor.\nWhere: Project › Projects › Project Summary tab.\nFields: Summary (HTML).\nEdits the same project record as the main card; there is no separate table." }, { "Id": "88571def-2380-5beb-9d74-01d78672e386", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectSummary.Desc", - "Value": "Proje Özeti — projenin HTML editörle yazılan serbest metin özeti.\nNerede: Proje Yönetimi › Projeler ekranının Proje Özeti sekmesi.\nAlanlar: Özet (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "Value": "Proje Özeti — projenin HTML editörle yazılan serbest metin özeti.\nNerede: Proje › Projeler ekranının Proje Özeti sekmesi.\nAlanlar: Özet (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, { "Id": "460f3de1-23fa-59a0-8ad9-ceca7f2029ea", @@ -91177,14 +91177,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectSupport.Desc", - "Value": "Support — funding information of the project.\nWhere: Project Management › Projects › Support tab.\nFields: national and international R&D support institution, amount covered by own funds, support amount, total project budget (TL), service purchase subject and the place where the service is purchased.\nEdits the same project record as the main card." + "Value": "Support — funding information of the project.\nWhere: Project › Projects › Support tab.\nFields: national and international R&D support institution, amount covered by own funds, support amount, total project budget (TL), service purchase subject and the place where the service is purchased.\nEdits the same project record as the main card." }, { "Id": "3b35faf1-69a2-5307-acaf-d582f3417623", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectSupport.Desc", - "Value": "Destek — projenin destek ve bütçe bilgileri.\nNerede: Proje Yönetimi › Projeler ekranının Destek sekmesi.\nAlanlar: ulusal ve uluslararası Ar-Ge destek kurumu, öz kaynakla karşılanan tutar, destek tutarı, toplam proje bütçesi (TL), hizmet alımı konusu ve hizmet alımı yapılan yer.\nAna kartla aynı proje kaydını düzenler." + "Value": "Destek — projenin destek ve bütçe bilgileri.\nNerede: Proje › Projeler ekranının Destek sekmesi.\nAlanlar: ulusal ve uluslararası Ar-Ge destek kurumu, öz kaynakla karşılanan tutar, destek tutarı, toplam proje bütçesi (TL), hizmet alımı konusu ve hizmet alımı yapılan yer.\nAna kartla aynı proje kaydını düzenler." }, { "Id": "7a5bb035-f2ea-5254-80a7-84bfbd498fc7", @@ -91317,14 +91317,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectNeeds.Desc", - "Value": "Needs — the problems and needs that led to the project, written in a rich HTML editor.\nWhere: Project Management › Projects › Needs tab.\nFields: Needs (HTML).\nEdits the same project record as the main card; there is no separate table." + "Value": "Needs — the problems and needs that led to the project, written in a rich HTML editor.\nWhere: Project › Projects › Needs tab.\nFields: Needs (HTML).\nEdits the same project record as the main card; there is no separate table." }, { "Id": "ececde9d-53b8-5c94-be78-d441c1ac4c77", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectNeeds.Desc", - "Value": "İhtiyaçlar — projeyi doğuran sorun ve ihtiyaçlar; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının İhtiyaçlar sekmesi.\nAlanlar: İhtiyaçlar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "Value": "İhtiyaçlar — projeyi doğuran sorun ve ihtiyaçlar; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının İhtiyaçlar sekmesi.\nAlanlar: İhtiyaçlar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, { "Id": "f3a9b251-d583-57e4-b3b0-1de54f6f3c4a", @@ -91373,14 +91373,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectActivities.Desc", - "Value": "Activities — the activities planned and carried out within the project, written in a rich HTML editor.\nWhere: Project Management › Projects › Activities tab.\nFields: Activities (HTML).\nEdits the same project record as the main card; there is no separate table." + "Value": "Activities — the activities planned and carried out within the project, written in a rich HTML editor.\nWhere: Project › Projects › Activities tab.\nFields: Activities (HTML).\nEdits the same project record as the main card; there is no separate table." }, { "Id": "6f49438d-1159-5092-bb20-0880d49452bd", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectActivities.Desc", - "Value": "Faaliyetler — proje kapsamında planlanan ve yürütülen faaliyetler; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının Faaliyetler sekmesi.\nAlanlar: Faaliyetler (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "Value": "Faaliyetler — proje kapsamında planlanan ve yürütülen faaliyetler; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının Faaliyetler sekmesi.\nAlanlar: Faaliyetler (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, { "Id": "b6b8e3e0-2139-5ed8-b35f-e80ac4bd5d9f", @@ -91429,14 +91429,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectInnovation.Desc", - "Value": "Innovative Aspect — what is new and innovative about the project, written in a rich HTML editor.\nWhere: Project Management › Projects › Innovative Aspect tab.\nFields: Innovation (HTML).\nEdits the same project record as the main card; there is no separate table." + "Value": "Innovative Aspect — what is new and innovative about the project, written in a rich HTML editor.\nWhere: Project › Projects › Innovative Aspect tab.\nFields: Innovation (HTML).\nEdits the same project record as the main card; there is no separate table." }, { "Id": "f1334ae0-6c76-5ad6-93aa-503bed651399", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectInnovation.Desc", - "Value": "Yenilikçi Yönü — projenin yenilikçi ve özgün yönleri; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının Yenilikçi Yönü sekmesi.\nAlanlar: Yenilikçi Yönü (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "Value": "Yenilikçi Yönü — projenin yenilikçi ve özgün yönleri; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının Yenilikçi Yönü sekmesi.\nAlanlar: Yenilikçi Yönü (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, { "Id": "2d74b267-76c0-51ff-8942-881e4300ab93", @@ -91485,14 +91485,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectOutputs.Desc", - "Value": "Outputs and Benefits — expected outputs of the project and the benefits they bring, written in a rich HTML editor.\nWhere: Project Management › Projects › Outputs and Benefits tab.\nFields: Outputs (HTML).\nEdits the same project record as the main card; there is no separate table." + "Value": "Outputs and Benefits — expected outputs of the project and the benefits they bring, written in a rich HTML editor.\nWhere: Project › Projects › Outputs and Benefits tab.\nFields: Outputs (HTML).\nEdits the same project record as the main card; there is no separate table." }, { "Id": "68d7e8c2-302a-540b-bc32-a537552ae891", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectOutputs.Desc", - "Value": "Çıktı ve Faydaları — projenin beklenen çıktıları ve sağlayacağı faydalar; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının Çıktı ve Faydaları sekmesi.\nAlanlar: Çıktı ve Faydalar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "Value": "Çıktı ve Faydaları — projenin beklenen çıktıları ve sağlayacağı faydalar; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının Çıktı ve Faydaları sekmesi.\nAlanlar: Çıktı ve Faydalar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, { "Id": "ce65f503-5bee-5f75-93af-c98dc659f9d0", @@ -91541,14 +91541,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectMember.Desc", - "Value": "Team — the personnel working on the project, organised as a tree: first the team leader, then the people reporting to them (Manager field).\nWhere: Project Management › Projects › Team tab.\nFields: employee, role (from Project Roles), manager (another team member), average monthly cost.\nCalculated: package count, man-month total (Σ work package rates / 100), worked months and total cost (man-month × average monthly cost)." + "Value": "Team — the personnel working on the project, organised as a tree: first the team leader, then the people reporting to them (Manager field).\nWhere: Project › Projects › Team tab.\nFields: employee, role (from Project Roles), manager (another team member), average monthly cost.\nCalculated: package count, man-month total (Σ work package rates / 100), worked months and total cost (man-month × average monthly cost)." }, { "Id": "19223740-27b6-5c1d-8bb1-3d0712268577", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectMember.Desc", - "Value": "Takım — projede çalışan personel; ağaç yapısında tutulur: önce takım lideri, sonra ona bağlı personel (Yönetici alanı).\nNerede: Proje Yönetimi › Projeler ekranının Takım sekmesi.\nAlanlar: personel, görev (Görev Listesi'nden), yönetici (başka bir takım üyesi), ortalama aylık maliyet.\nHesaplanan: paket adedi, adam/ay toplamı (Σ iş paketi oranı / 100), çalışılan ay ve toplam maliyet (adam/ay × ort. aylık maliyet)." + "Value": "Takım — projede çalışan personel; ağaç yapısında tutulur: önce takım lideri, sonra ona bağlı personel (Yönetici alanı).\nNerede: Proje › Projeler ekranının Takım sekmesi.\nAlanlar: personel, görev (Görev Listesi'nden), yönetici (başka bir takım üyesi), ortalama aylık maliyet.\nHesaplanan: paket adedi, adam/ay toplamı (Σ iş paketi oranı / 100), çalışılan ay ve toplam maliyet (adam/ay × ort. aylık maliyet)." }, { "Id": "1df8d559-6aa0-5a53-a061-8c4d9d238fe7", @@ -91667,14 +91667,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ProjectCostSummary.Desc", - "Value": "Man-Month and Detailed Cost Report — read-only summary of the project: one row for Planned and one for Actual.\nWhere: Project Management › Projects › Man-Month and Detailed Cost Report tab.\nColumns: man-month, personnel, travel, equipment, consulting, service, material, other and total cost.\nCalculated from the work packages' Man-Month rows and the Planned Resources / Actual Expenses tabs; no records are entered here." + "Value": "Man-Month and Detailed Cost Report — read-only summary of the project: one row for Planned and one for Actual.\nWhere: Project › Projects › Man-Month and Detailed Cost Report tab.\nColumns: man-month, personnel, travel, equipment, consulting, service, material, other and total cost.\nCalculated from the work packages' Man-Month rows and the Planned Resources / Actual Expenses tabs; no records are entered here." }, { "Id": "40efcff0-4640-5163-aca6-a17500d26278", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ProjectCostSummary.Desc", - "Value": "Adam / Ay Oranları ve Detaylı Maliyet Raporu — projenin salt okunur özeti: Planlanan ve Gerçek için birer satır.\nNerede: Proje Yönetimi › Projeler ekranının Adam / Ay Oranları ve Detaylı Maliyet Raporu sekmesi.\nKolonlar: adam/ay, personel, seyahat, ekipman, danışmanlık, hizmet, malzeme, diğer ve toplam maliyet.\nİş paketlerinin Adam/Ay satırlarından ve Planlanan Kaynaklar / Gerçekleşen Masraflar sekmelerinden hesaplanır; burada kayıt girilmez." + "Value": "Adam / Ay Oranları ve Detaylı Maliyet Raporu — projenin salt okunur özeti: Planlanan ve Gerçek için birer satır.\nNerede: Proje › Projeler ekranının Adam / Ay Oranları ve Detaylı Maliyet Raporu sekmesi.\nKolonlar: adam/ay, personel, seyahat, ekipman, danışmanlık, hizmet, malzeme, diğer ve toplam maliyet.\nİş paketlerinin Adam/Ay satırlarından ve Planlanan Kaynaklar / Gerçekleşen Masraflar sekmelerinden hesaplanır; burada kayıt girilmez." }, { "Id": "7384c66f-73cf-5ef9-b5d8-6cf7ff5b0120", @@ -91835,14 +91835,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.Project.Desc", - "Value": "Projects — R&D and supported projects (TÜBİTAK, KOSGEB, R&D centre, EU, internal) with their team, work packages, costs and diary.\nWhere: Project Management › Projects.\nCard: project no, name, type, status, start/end date, manager, coloured tags (from Tags).\nTabs: Project Summary, Support, Needs, Activities, Innovative Aspect, Outputs and Benefits (all edit this record), Team (tree), Work Packages (Gantt), Man-Month and Detailed Cost Report (read-only), Diary." + "Value": "Projects — R&D and supported projects (TÜBİTAK, KOSGEB, R&D centre, EU, internal) with their team, work packages, costs and diary.\nWhere: Project › Projects.\nCard: project no, name, type, status, start/end date, manager, coloured tags (from Tags).\nTabs: Project Summary, Support, Needs, Activities, Innovative Aspect, Outputs and Benefits (all edit this record), Team (tree), Work Packages (Gantt), Man-Month and Detailed Cost Report (read-only), Diary." }, { "Id": "99549244-22cc-5b57-9b39-5924edcbbef9", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.Project.Desc", - "Value": "Proje Listesi — Ar-Ge ve destekli projeler (TÜBİTAK, KOSGEB, Ar-Ge Merkezi, AB, iç proje); takım, iş paketleri, maliyetler ve günce ile birlikte.\nNerede: Proje Yönetimi › Projeler.\nKart: proje no, ad, tip, durum, başlangıç/bitiş tarihi, yönetici, renkli etiketler (Etiketler tanımından).\nSekmeler: Proje Özeti, Destek, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, Çıktı ve Faydaları (hepsi bu kaydı düzenler), Takım (ağaç), İş Paketleri (Gantt), Adam / Ay ve Detaylı Maliyet Raporu (salt okunur), Günce." + "Value": "Proje Listesi — Ar-Ge ve destekli projeler (TÜBİTAK, KOSGEB, Ar-Ge Merkezi, AB, iç proje); takım, iş paketleri, maliyetler ve günce ile birlikte.\nNerede: Proje › Projeler.\nKart: proje no, ad, tip, durum, başlangıç/bitiş tarihi, yönetici, renkli etiketler (Etiketler tanımından).\nSekmeler: Proje Özeti, Destek, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, Çıktı ve Faydaları (hepsi bu kaydı düzenler), Takım (ağaç), İş Paketleri (Gantt), Adam / Ay ve Detaylı Maliyet Raporu (salt okunur), Günce." }, { "Id": "2c6114bb-f8bf-5b63-83d7-73da8cee2cca", @@ -92045,14 +92045,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ManMonth.Desc", - "Value": "Man-Month Rates — per project, the monthly percentage each employee spends on each work package, shown as a Gantt chart on a monthly scale.\nWhere: Project Management › Man-Month Rates (read-only).\nRows: employee › work package; columns: average rate (OAA), total rate (TAA), month count (TÇA); bar = first to last month with a rate, progress = average rate.\nData comes from the Man-Month tab of Work Packages; the Pivot view shows the monthly percentages as cells." + "Value": "Man-Month Rates — per project, the monthly percentage each employee spends on each work package, shown as a Gantt chart on a monthly scale.\nWhere: Project › Man-Month Rates (read-only).\nRows: employee › work package; columns: average rate (OAA), total rate (TAA), month count (TÇA); bar = first to last month with a rate, progress = average rate.\nData comes from the Man-Month tab of Work Packages; the Pivot view shows the monthly percentages as cells." }, { "Id": "0d6dfd05-a350-5b7b-b92b-86cb6e7fedcd", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ManMonth.Desc", - "Value": "Adam/Ay Oranları — proje bazında personelin ilgili aylarda iş paketlerinde geçirdiği yüzdesel çalışma oranları; ay ölçeğinde Gantt olarak gösterilir.\nNerede: Proje Yönetimi › Adam/Ay Oranları (salt okunur).\nSatırlar: personel › iş paketi; kolonlar: ortalama oran (OAA), toplam oran (TAA), ay sayısı (TÇA); çubuk = oranı olan ilk-son ay, ilerleme = ortalama oran.\nVeri İş Paketleri ekranının Adam/Ay sekmesinden gelir; Pivot görünümü aylık yüzdeleri hücre olarak gösterir." + "Value": "Adam/Ay Oranları — proje bazında personelin ilgili aylarda iş paketlerinde geçirdiği yüzdesel çalışma oranları; ay ölçeğinde Gantt olarak gösterilir.\nNerede: Proje › Adam/Ay Oranları (salt okunur).\nSatırlar: personel › iş paketi; kolonlar: ortalama oran (OAA), toplam oran (TAA), ay sayısı (TÇA); çubuk = oranı olan ilk-son ay, ilerleme = ortalama oran.\nVeri İş Paketleri ekranının Adam/Ay sekmesinden gelir; Pivot görünümü aylık yüzdeleri hücre olarak gösterir." }, { "Id": "8b468d41-c795-57a5-b88d-8795399c5444", @@ -92143,14 +92143,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.ResourceList.Desc", - "Value": "Resource List — read-only list of all planned and actual resources of all projects in one place.\nWhere: Project Management › Resource List.\nColumns: project no/name, work package no/name, type, resource, quantity, unit, price, cost, kind (Planned/Actual), document date/no, organisation type, work done and description.\nRecords are entered in the Planned Resources and Actual Expenses tabs of Work Packages; no record is added here." + "Value": "Resource List — read-only list of all planned and actual resources of all projects in one place.\nWhere: Project › Resource List.\nColumns: project no/name, work package no/name, type, resource, quantity, unit, price, cost, kind (Planned/Actual), document date/no, organisation type, work done and description.\nRecords are entered in the Planned Resources and Actual Expenses tabs of Work Packages; no record is added here." }, { "Id": "9e718cc2-aedd-57d5-9a64-94cb72d615d5", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.ResourceList.Desc", - "Value": "Kaynak Listesi — tüm projelerin planlanan ve gerçekleşen kaynaklarının tek yerde salt okunur listesi.\nNerede: Proje Yönetimi › Kaynak Listesi.\nKolonlar: proje no/adı, iş paket no/adı, tipi, kaynak, adet, birim, fiyat, maliyet, türü (Planlanan/Gerçek), belge tarihi/no, kuruluş türü, yaptırılan iş ve açıklaması.\nKayıtlar İş Paketleri ekranının Planlanan Kaynaklar ve Gerçekleşen Masraflar sekmelerinden girilir; burada kayıt eklenmez." + "Value": "Kaynak Listesi — tüm projelerin planlanan ve gerçekleşen kaynaklarının tek yerde salt okunur listesi.\nNerede: Proje › Kaynak Listesi.\nKolonlar: proje no/adı, iş paket no/adı, tipi, kaynak, adet, birim, fiyat, maliyet, türü (Planlanan/Gerçek), belge tarihi/no, kuruluş türü, yaptırılan iş ve açıklaması.\nKayıtlar İş Paketleri ekranının Planlanan Kaynaklar ve Gerçekleşen Masraflar sekmelerinden girilir; burada kayıt eklenmez." }, { "Id": "d5ce2b23-7730-5546-9677-31b14a53f064", @@ -92241,14 +92241,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.PersonnelManMonth.Desc", - "Value": "Personnel Man-Month Rates — read-only list of every employee's monthly work package rate across all projects, with the resulting real cost.\nWhere: Project Management › Personnel Man-Month.\nColumns: project no/name, work package no/name, period, employee, man-month value, monthly working rate (from Monthly Man-Month Rates), effective rate, real unit cost (team average monthly cost) and real total cost.\nEffective rate = package rate × monthly rate / 100; real total = unit cost × effective rate / 100." + "Value": "Personnel Man-Month Rates — read-only list of every employee's monthly work package rate across all projects, with the resulting real cost.\nWhere: Project › Personnel Man-Month.\nColumns: project no/name, work package no/name, period, employee, man-month value, monthly working rate (from Monthly Man-Month Rates), effective rate, real unit cost (team average monthly cost) and real total cost.\nEffective rate = package rate × monthly rate / 100; real total = unit cost × effective rate / 100." }, { "Id": "acb90d75-18f6-5c63-bad1-00a7de0c6fe2", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.PersonnelManMonth.Desc", - "Value": "Personel Adam/Ay Oranları — tüm projelerde personelin aylık iş paketi oranlarının ve bunlardan çıkan gerçek maliyetin salt okunur listesi.\nNerede: Proje Yönetimi › Personel Adam/Ay Oranları.\nKolonlar: proje no/adı, iş paket no/adı, dönem, personel, adam/ay değeri, aylık çalışma oranı (Aylık Adam/Ay Oranları'ndan), aya düşen oran, gerçek birim maliyet (takımdaki ort. aylık maliyet) ve gerçek toplam maliyet.\nAya düşen oran = paket oranı × aylık oran / 100; gerçek toplam = birim maliyet × aya düşen oran / 100." + "Value": "Personel Adam/Ay Oranları — tüm projelerde personelin aylık iş paketi oranlarının ve bunlardan çıkan gerçek maliyetin salt okunur listesi.\nNerede: Proje › Personel Adam/Ay Oranları.\nKolonlar: proje no/adı, iş paket no/adı, dönem, personel, adam/ay değeri, aylık çalışma oranı (Aylık Adam/Ay Oranları'ndan), aya düşen oran, gerçek birim maliyet (takımdaki ort. aylık maliyet) ve gerçek toplam maliyet.\nAya düşen oran = paket oranı × aylık oran / 100; gerçek toplam = birim maliyet × aya düşen oran / 100." }, { "Id": "3b230b5c-3cb4-5ac4-b4c2-6da87a8dc03d", @@ -92353,14 +92353,14 @@ "CultureName": "en", "ResourceName": "Platform", "Key": "App.Prj.BudgetReport.Desc", - "Value": "Project Budget Report — planned and actual costs of projects tracked monthly, shown as a Gantt chart on a monthly scale (read-only).\nWhere: Project Management › Project Budget Report; filter by project.\nRows: expense item (resource type) › month; columns: planned, actual and ratio (actual / planned %). Progress bar = ratio (max 100).\nCalculated from Planned Resources and Actual Expenses; the month is the document date, or the work package start when there is no document date. The Pivot view shows months as columns." + "Value": "Project Budget Report — planned and actual costs of projects tracked monthly, shown as a Gantt chart on a monthly scale (read-only).\nWhere: Project › Project Budget Report; filter by project.\nRows: expense item (resource type) › month; columns: planned, actual and ratio (actual / planned %). Progress bar = ratio (max 100).\nCalculated from Planned Resources and Actual Expenses; the month is the document date, or the work package start when there is no document date. The Pivot view shows months as columns." }, { "Id": "148e0683-87c5-5379-b6bb-976d6dda39c5", "CultureName": "tr", "ResourceName": "Platform", "Key": "App.Prj.BudgetReport.Desc", - "Value": "Proje Bütçe Raporu — projelerin planlanan ve gerçekleşen maliyetlerinin aylık takibi; ay ölçeğinde Gantt olarak gösterilir (salt okunur).\nNerede: Proje Yönetimi › Proje Bütçe Raporu; projeye göre süzülür.\nSatırlar: gider kalemi (kaynak tipi) › ay; kolonlar: planlanan, gerçek ve oran (gerçek / planlanan %). İlerleme çubuğu = oran (en fazla 100).\nPlanlanan Kaynaklar ve Gerçekleşen Masraflar'dan hesaplanır; ay belge tarihinden, belge tarihi yoksa iş paketi başlangıcından alınır. Pivot görünümü ayları kolon olarak gösterir." + "Value": "Proje Bütçe Raporu — projelerin planlanan ve gerçekleşen maliyetlerinin aylık takibi; ay ölçeğinde Gantt olarak gösterilir (salt okunur).\nNerede: Proje › Proje Bütçe Raporu; projeye göre süzülür.\nSatırlar: gider kalemi (kaynak tipi) › ay; kolonlar: planlanan, gerçek ve oran (gerçek / planlanan %). İlerleme çubuğu = oran (en fazla 100).\nPlanlanan Kaynaklar ve Gerçekleşen Masraflar'dan hesaplanır; ay belge tarihinden, belge tarihi yoksa iş paketi başlangıcından alınır. Pivot görünümü ayları kolon olarak gösterir." }, { "Id": "a34c9e0a-dde3-5ffc-9df1-78d99e7ea509", diff --git a/configs/seeds/data/App.Menus.Menu.json b/configs/seeds/data/App.Menus.Menu.json index 6048c055..ab11183c 100644 --- a/configs/seeds/data/App.Menus.Menu.json +++ b/configs/seeds/data/App.Menus.Menu.json @@ -2303,7 +2303,7 @@ "Id": "13f6a874-5548-4735-9daf-74e4814d8cdb", "Code": "App.Prc", "DisplayName": "App.Prc", - "Order": 5, + "Order": 6, "Url": null, "Icon": "FcShop", "ParentCode": null, @@ -2393,7 +2393,7 @@ "Id": "368baecf-9d36-481a-b262-75b76fa047b5", "Code": "App.Inventory", "DisplayName": "App.Inventory", - "Order": 6, + "Order": 7, "Url": null, "Icon": "FcPackage", "ParentCode": null, @@ -2513,7 +2513,7 @@ "Id": "20d626a9-f766-4803-b8f3-c52d3a7144ec", "Code": "App.Production", "DisplayName": "App.Production", - "Order": 7, + "Order": 8, "Url": null, "Icon": "FcEngineering", "ParentCode": null, @@ -2588,9 +2588,9 @@ "Id": "93369cd9-3647-4842-b767-503780e1011e", "Code": "App.Prj", "DisplayName": "App.Prj", - "Order": 8, + "Order": 5, "Url": null, - "Icon": "FaRProject", + "Icon": "FcTreeStructure", "ParentCode": null, "RequiredPermissionName": null, "CssClass": null, diff --git a/configs/seeds/docs/modules/App.Prj.md b/configs/seeds/docs/modules/App.Prj.md index f444dd8e..8cc8e563 100644 --- a/configs/seeds/docs/modules/App.Prj.md +++ b/configs/seeds/docs/modules/App.Prj.md @@ -1,4 +1,4 @@ -# Proje Yönetimi (`App.Prj`) +# Proje (`App.Prj`) > Menünün altındaki her dal bu dosyada bir bölümdür (`module-doc:section`); dosya ve bölümler ilk deploy'da otomatik açılır. `module-doc:todo` işaretli alt bölümleri modülü üreten kişi ya da AI doldurur (`lowcode.instructions.md` §0.13); MCP ile üretimde talep bu bölümler doldurulmadan Testing'e alınamaz. "Ek — Ekran envanteri" bölümü wizard dosyalarından üretilir, elle düzenlenmez. @@ -11,14 +11,14 @@ Proje modülünün ortak tanımlarını tutar: projelere bağlanan renkli **Etik ### 2. Analiz ve kararlar -- Tanımlamalar alt menüsü Proje Yönetimi kökünün ilk sırasındadır (talep girdisi). +- Tanımlamalar alt menüsü Proje kökünün ilk sırasındadır (talep girdisi). - Etiketler ve Görevler tanım tablosudur (`IsActive`, varsayılan aktif); Aylık Adam/Ay Oranları tanım değil, personel-dönem verisidir. - Görev Listesi İK pozisyonlarından ayrı, projeye özgü görev tanımıdır. - Demo veri: 17 etiket ve 67 görev (talep görsellerinden). Aylık oran demo satırları eklenmedi; görseldeki personel sistemde kullanıcı olarak yok. ### 3. Menü ve ekranlar -`Proje Yönetimi › Tanımlamalar › Etiketler | Görevler | Aylık Adam/Ay Oranları` — üçü de liste + popup form, Grid/Card/Pivot/Chart görünümleri ve özet widget'ları ile. +`Proje › Tanımlamalar › Etiketler | Görevler | Aylık Adam/Ay Oranları` — üçü de liste + popup form, Grid/Card/Pivot/Chart görünümleri ve özet widget'ları ile. ### 4. Veri modeli @@ -70,7 +70,7 @@ Projelerin hiyerarşik iş planı (1 → 1.01, 1.02 …) ay ölçeğinde Gantt o ### 3. Menü ve ekranlar -`Proje Yönetimi › İş Paketleri` (Gantt varsayılan; Tree/Grid/Pivot de açık) ve proje kartının İş Paketleri sekmesi. Detay sekmeleri: Personel (`App.Prj.WorkPackageMember`), Adam/Ay (`App.Prj.WorkPackageMonthRate`), Planlanan Kaynaklar (`App.Prj.WorkPackagePlanned`), Gerçekleşen Masraflar (`App.Prj.WorkPackageActual`) — hepsi menüsüz. +`Proje › İş Paketleri` (Gantt varsayılan; Tree/Grid/Pivot de açık) ve proje kartının İş Paketleri sekmesi. Detay sekmeleri: Personel (`App.Prj.WorkPackageMember`), Adam/Ay (`App.Prj.WorkPackageMonthRate`), Planlanan Kaynaklar (`App.Prj.WorkPackagePlanned`), Gerçekleşen Masraflar (`App.Prj.WorkPackageActual`) — hepsi menüsüz. ### 4. Veri modeli @@ -161,7 +161,7 @@ Personelin proje ve iş paketine göre günlük yaptığı çalışmaları yazd ### 3. Menü ve ekranlar -`Proje Yönetimi › Günce Listesi`; ayrıca `Projeler` kartında Günce sekmesi (ProjectId ilişkisiyle). Widget'lar: toplam kayıt, bugünkü kayıt, toplam saat. +`Proje › Günce Listesi`; ayrıca `Projeler` kartında Günce sekmesi (ProjectId ilişkisiyle). Widget'lar: toplam kayıt, bugünkü kayıt, toplam saat. ### 4. Veri modeli @@ -207,7 +207,7 @@ Ar-Ge ve destekli projelerin (TÜBİTAK, KOSGEB, Ar-Ge Merkezi, AB, iç proje) a ### 3. Menü ve ekranlar -`Proje Yönetimi › Projeler`, popup 1400×800. Sekmeler sırasıyla: +`Proje › Projeler`, popup 1400×800. Sekmeler sırasıyla: - Proje Özeti, Destek, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, Çıktı ve Faydaları (Form sekmeleri). - Takım (`App.Prj.ProjectMember`, ağaç). - İş Paketleri (`App.Prj.WorkPackage`, Gantt, menülü). @@ -323,7 +323,7 @@ Proje bazında personelin ilgili aylarda iş paketlerinde geçirdiği yüzdesel ### 3. Menü ve ekranlar -`Proje Yönetimi › Adam/Ay Oranları`. Varsayılan görünüm Gantt; Tree, Grid ve Pivot da açıktır. Projeye göre süzmek için ProjectId filtresi kullanılır. +`Proje › Adam/Ay Oranları`. Varsayılan görünüm Gantt; Tree, Grid ve Pivot da açıktır. Projeye göre süzmek için ProjectId filtresi kullanılır. ### 4. Veri modeli @@ -378,7 +378,7 @@ Bu ekran, tüm projelerin planlanan ve gerçekleşen kaynaklarını tek listede ### 3. Menü ve ekranlar -`Proje Yönetimi › Kaynak Listesi`. Grid, Card, Pivot ve Chart görünümleri açıktır. Widget'lar toplam planlanan ve toplam gerçekleşen maliyeti gösterir. +`Proje › Kaynak Listesi`. Grid, Card, Pivot ve Chart görünümleri açıktır. Widget'lar toplam planlanan ve toplam gerçekleşen maliyeti gösterir. ### 4. Veri modeli @@ -433,7 +433,7 @@ Bu ekran, tüm projelerde personelin aylık iş paketi oranlarını ve bu oranla ### 3. Menü ve ekranlar -Ekran `Proje Yönetimi › Personel Adam/Ay Oranları` menüsündedir. Grid, Card, Pivot ve Chart görünümleri açıktır. +Ekran `Proje › Personel Adam/Ay Oranları` menüsündedir. Grid, Card, Pivot ve Chart görünümleri açıktır. ### 4. Veri modeli @@ -489,7 +489,7 @@ Bu rapor, projelerin planlanan ve gerçekleşen maliyetlerini ay bazında takip ### 3. Menü ve ekranlar -Ekran `Proje Yönetimi › Proje Bütçe Raporu` menüsündedir. +Ekran `Proje › Proje Bütçe Raporu` menüsündedir. - Varsayılan görünüm Gantt'tır. Tree, Grid ve Pivot görünümleri de kullanılabilir. - Belirli bir projenin verisini görmek için ProjectId filtresi kullanılır. diff --git a/configs/seeds/wizard/BudgetReport.json b/configs/seeds/wizard/BudgetReport.json index 5eafcc55..730accfa 100644 --- a/configs/seeds/wizard/BudgetReport.json +++ b/configs/seeds/wizard/BudgetReport.json @@ -16,16 +16,16 @@ "MenuIcon": "FcComboChart" }, "Language": { - "MenuParentEn": "Project Management", - "MenuParentTr": "Proje Yönetimi", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "MenuParentEn": "Project", + "MenuParentTr": "Proje", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Project Budget Report", "MenuTr": "Proje Bütçe Raporu", "TitleEn": "Project Budget Report", "TitleTr": "Proje Bütçe Raporu", - "DescEn": "Project Budget Report — planned and actual costs of projects tracked monthly, shown as a Gantt chart on a monthly scale (read-only).\nWhere: Project Management › Project Budget Report; filter by project.\nRows: expense item (resource type) › month; columns: planned, actual and ratio (actual / planned %). Progress bar = ratio (max 100).\nCalculated from Planned Resources and Actual Expenses; the month is the document date, or the work package start when there is no document date. The Pivot view shows months as columns.", - "DescTr": "Proje Bütçe Raporu — projelerin planlanan ve gerçekleşen maliyetlerinin aylık takibi; ay ölçeğinde Gantt olarak gösterilir (salt okunur).\nNerede: Proje Yönetimi › Proje Bütçe Raporu; projeye göre süzülür.\nSatırlar: gider kalemi (kaynak tipi) › ay; kolonlar: planlanan, gerçek ve oran (gerçek / planlanan %). İlerleme çubuğu = oran (en fazla 100).\nPlanlanan Kaynaklar ve Gerçekleşen Masraflar'dan hesaplanır; ay belge tarihinden, belge tarihi yoksa iş paketi başlangıcından alınır. Pivot görünümü ayları kolon olarak gösterir." + "DescEn": "Project Budget Report — planned and actual costs of projects tracked monthly, shown as a Gantt chart on a monthly scale (read-only).\nWhere: Project › Project Budget Report; filter by project.\nRows: expense item (resource type) › month; columns: planned, actual and ratio (actual / planned %). Progress bar = ratio (max 100).\nCalculated from Planned Resources and Actual Expenses; the month is the document date, or the work package start when there is no document date. The Pivot view shows months as columns.", + "DescTr": "Proje Bütçe Raporu — projelerin planlanan ve gerçekleşen maliyetlerinin aylık takibi; ay ölçeğinde Gantt olarak gösterilir (salt okunur).\nNerede: Proje › Proje Bütçe Raporu; projeye göre süzülür.\nSatırlar: gider kalemi (kaynak tipi) › ay; kolonlar: planlanan, gerçek ve oran (gerçek / planlanan %). İlerleme çubuğu = oran (en fazla 100).\nPlanlanan Kaynaklar ve Gerçekleşen Masraflar'dan hesaplanır; ay belge tarihinden, belge tarihi yoksa iş paketi başlangıcından alınır. Pivot görünümü ayları kolon olarak gösterir." }, "Groups": [ { diff --git a/configs/seeds/wizard/Diary.json b/configs/seeds/wizard/Diary.json index 4efc620c..27923a93 100644 --- a/configs/seeds/wizard/Diary.json +++ b/configs/seeds/wizard/Diary.json @@ -16,16 +16,16 @@ "MenuIcon": "FcPlanner" }, "Language": { - "MenuParentEn": "Project Management", - "MenuParentTr": "Proje Yönetimi", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "MenuParentEn": "Project", + "MenuParentTr": "Proje", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Work Diary", "MenuTr": "Günce Listesi", "TitleEn": "Work Diary", "TitleTr": "Günce Listesi", - "DescEn": "Work Diary — daily notes in which personnel record what they worked on, per project and work package.\nWhere: Project Management › Work Diary; also the Diary tab of the project card.\nFields: project, work package (filtered by project), start and end time, minutes (calculated), user (defaults to the signed-in user), computer name, diary text (rich HTML editor).\nMinutes = time between start and end, calculated automatically.", - "DescTr": "Günce Listesi — personelin proje ve iş paketine göre günlük yaptığı çalışmaları yazdığı liste.\nNerede: Proje Yönetimi › Günce Listesi; ayrıca proje kartının Günce sekmesi.\nAlanlar: proje, iş paketi (projeye göre süzülür), başlangıç ve bitiş zamanı, dakika (hesaplanır), kullanıcı (varsayılan oturumdaki kullanıcı), bilgisayar adı, günce metni (HTML editör).\nDakika = başlangıç ile bitiş arasındaki süre, otomatik hesaplanır.", + "DescEn": "Work Diary — daily notes in which personnel record what they worked on, per project and work package.\nWhere: Project › Work Diary; also the Diary tab of the project card.\nFields: project, work package (filtered by project), start and end time, minutes (calculated), user (defaults to the signed-in user), computer name, diary text (rich HTML editor).\nMinutes = time between start and end, calculated automatically.", + "DescTr": "Günce Listesi — personelin proje ve iş paketine göre günlük yaptığı çalışmaları yazdığı liste.\nNerede: Proje › Günce Listesi; ayrıca proje kartının Günce sekmesi.\nAlanlar: proje, iş paketi (projeye göre süzülür), başlangıç ve bitiş zamanı, dakika (hesaplanır), kullanıcı (varsayılan oturumdaki kullanıcı), bilgisayar adı, günce metni (HTML editör).\nDakika = başlangıç ile bitiş arasındaki süre, otomatik hesaplanır.", "Texts": [ { "Key": "App.Widget.Today", diff --git a/configs/seeds/wizard/ManMonth.json b/configs/seeds/wizard/ManMonth.json index ad492289..f6cccb80 100644 --- a/configs/seeds/wizard/ManMonth.json +++ b/configs/seeds/wizard/ManMonth.json @@ -16,16 +16,16 @@ "MenuIcon": "FcTimeline" }, "Language": { - "MenuParentEn": "Project Management", - "MenuParentTr": "Proje Yönetimi", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "MenuParentEn": "Project", + "MenuParentTr": "Proje", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Man-Month Rates", "MenuTr": "Adam/Ay Oranları", "TitleEn": "Man-Month Rates", "TitleTr": "Adam/Ay Oranları", - "DescEn": "Man-Month Rates — per project, the monthly percentage each employee spends on each work package, shown as a Gantt chart on a monthly scale.\nWhere: Project Management › Man-Month Rates (read-only).\nRows: employee › work package; columns: average rate (OAA), total rate (TAA), month count (TÇA); bar = first to last month with a rate, progress = average rate.\nData comes from the Man-Month tab of Work Packages; the Pivot view shows the monthly percentages as cells.", - "DescTr": "Adam/Ay Oranları — proje bazında personelin ilgili aylarda iş paketlerinde geçirdiği yüzdesel çalışma oranları; ay ölçeğinde Gantt olarak gösterilir.\nNerede: Proje Yönetimi › Adam/Ay Oranları (salt okunur).\nSatırlar: personel › iş paketi; kolonlar: ortalama oran (OAA), toplam oran (TAA), ay sayısı (TÇA); çubuk = oranı olan ilk-son ay, ilerleme = ortalama oran.\nVeri İş Paketleri ekranının Adam/Ay sekmesinden gelir; Pivot görünümü aylık yüzdeleri hücre olarak gösterir." + "DescEn": "Man-Month Rates — per project, the monthly percentage each employee spends on each work package, shown as a Gantt chart on a monthly scale.\nWhere: Project › Man-Month Rates (read-only).\nRows: employee › work package; columns: average rate (OAA), total rate (TAA), month count (TÇA); bar = first to last month with a rate, progress = average rate.\nData comes from the Man-Month tab of Work Packages; the Pivot view shows the monthly percentages as cells.", + "DescTr": "Adam/Ay Oranları — proje bazında personelin ilgili aylarda iş paketlerinde geçirdiği yüzdesel çalışma oranları; ay ölçeğinde Gantt olarak gösterilir.\nNerede: Proje › Adam/Ay Oranları (salt okunur).\nSatırlar: personel › iş paketi; kolonlar: ortalama oran (OAA), toplam oran (TAA), ay sayısı (TÇA); çubuk = oranı olan ilk-son ay, ilerleme = ortalama oran.\nVeri İş Paketleri ekranının Adam/Ay sekmesinden gelir; Pivot görünümü aylık yüzdeleri hücre olarak gösterir." }, "Groups": [ { diff --git a/configs/seeds/wizard/PersonnelManMonth.json b/configs/seeds/wizard/PersonnelManMonth.json index 1593fa71..7da4993c 100644 --- a/configs/seeds/wizard/PersonnelManMonth.json +++ b/configs/seeds/wizard/PersonnelManMonth.json @@ -16,16 +16,16 @@ "MenuIcon": "FcBusinessman" }, "Language": { - "MenuParentEn": "Project Management", - "MenuParentTr": "Proje Yönetimi", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "MenuParentEn": "Project", + "MenuParentTr": "Proje", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Personnel Man-Month", "MenuTr": "Personel Adam/Ay Oranları", "TitleEn": "Personnel Man-Month Rates", "TitleTr": "Personel Adam/Ay Oranları", - "DescEn": "Personnel Man-Month Rates — read-only list of every employee's monthly work package rate across all projects, with the resulting real cost.\nWhere: Project Management › Personnel Man-Month.\nColumns: project no/name, work package no/name, period, employee, man-month value, monthly working rate (from Monthly Man-Month Rates), effective rate, real unit cost (team average monthly cost) and real total cost.\nEffective rate = package rate × monthly rate / 100; real total = unit cost × effective rate / 100.", - "DescTr": "Personel Adam/Ay Oranları — tüm projelerde personelin aylık iş paketi oranlarının ve bunlardan çıkan gerçek maliyetin salt okunur listesi.\nNerede: Proje Yönetimi › Personel Adam/Ay Oranları.\nKolonlar: proje no/adı, iş paket no/adı, dönem, personel, adam/ay değeri, aylık çalışma oranı (Aylık Adam/Ay Oranları'ndan), aya düşen oran, gerçek birim maliyet (takımdaki ort. aylık maliyet) ve gerçek toplam maliyet.\nAya düşen oran = paket oranı × aylık oran / 100; gerçek toplam = birim maliyet × aya düşen oran / 100." + "DescEn": "Personnel Man-Month Rates — read-only list of every employee's monthly work package rate across all projects, with the resulting real cost.\nWhere: Project › Personnel Man-Month.\nColumns: project no/name, work package no/name, period, employee, man-month value, monthly working rate (from Monthly Man-Month Rates), effective rate, real unit cost (team average monthly cost) and real total cost.\nEffective rate = package rate × monthly rate / 100; real total = unit cost × effective rate / 100.", + "DescTr": "Personel Adam/Ay Oranları — tüm projelerde personelin aylık iş paketi oranlarının ve bunlardan çıkan gerçek maliyetin salt okunur listesi.\nNerede: Proje › Personel Adam/Ay Oranları.\nKolonlar: proje no/adı, iş paket no/adı, dönem, personel, adam/ay değeri, aylık çalışma oranı (Aylık Adam/Ay Oranları'ndan), aya düşen oran, gerçek birim maliyet (takımdaki ort. aylık maliyet) ve gerçek toplam maliyet.\nAya düşen oran = paket oranı × aylık oran / 100; gerçek toplam = birim maliyet × aya düşen oran / 100." }, "Groups": [ { diff --git a/configs/seeds/wizard/Project.json b/configs/seeds/wizard/Project.json index 374da639..1652748c 100644 --- a/configs/seeds/wizard/Project.json +++ b/configs/seeds/wizard/Project.json @@ -16,16 +16,16 @@ "MenuIcon": "FcFolder" }, "Language": { - "MenuParentEn": "Project Management", - "MenuParentTr": "Proje Yönetimi", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "MenuParentEn": "Project", + "MenuParentTr": "Proje", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Projects", "MenuTr": "Projeler", "TitleEn": "Projects", "TitleTr": "Proje Listesi", - "DescEn": "Projects — R&D and supported projects (TÜBİTAK, KOSGEB, R&D centre, EU, internal) with their team, work packages, costs and diary.\nWhere: Project Management › Projects.\nCard: project no, name, type, status, start/end date, manager, coloured tags (from Tags).\nTabs: Project Summary, Support, Needs, Activities, Innovative Aspect, Outputs and Benefits (all edit this record), Team (tree), Work Packages (Gantt), Man-Month and Detailed Cost Report (read-only), Diary.", - "DescTr": "Proje Listesi — Ar-Ge ve destekli projeler (TÜBİTAK, KOSGEB, Ar-Ge Merkezi, AB, iç proje); takım, iş paketleri, maliyetler ve günce ile birlikte.\nNerede: Proje Yönetimi › Projeler.\nKart: proje no, ad, tip, durum, başlangıç/bitiş tarihi, yönetici, renkli etiketler (Etiketler tanımından).\nSekmeler: Proje Özeti, Destek, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, Çıktı ve Faydaları (hepsi bu kaydı düzenler), Takım (ağaç), İş Paketleri (Gantt), Adam / Ay ve Detaylı Maliyet Raporu (salt okunur), Günce.", + "DescEn": "Projects — R&D and supported projects (TÜBİTAK, KOSGEB, R&D centre, EU, internal) with their team, work packages, costs and diary.\nWhere: Project › Projects.\nCard: project no, name, type, status, start/end date, manager, coloured tags (from Tags).\nTabs: Project Summary, Support, Needs, Activities, Innovative Aspect, Outputs and Benefits (all edit this record), Team (tree), Work Packages (Gantt), Man-Month and Detailed Cost Report (read-only), Diary.", + "DescTr": "Proje Listesi — Ar-Ge ve destekli projeler (TÜBİTAK, KOSGEB, Ar-Ge Merkezi, AB, iç proje); takım, iş paketleri, maliyetler ve günce ile birlikte.\nNerede: Proje › Projeler.\nKart: proje no, ad, tip, durum, başlangıç/bitiş tarihi, yönetici, renkli etiketler (Etiketler tanımından).\nSekmeler: Proje Özeti, Destek, İhtiyaçlar, Faaliyetler, Yenilikçi Yönü, Çıktı ve Faydaları (hepsi bu kaydı düzenler), Takım (ağaç), İş Paketleri (Gantt), Adam / Ay ve Detaylı Maliyet Raporu (salt okunur), Günce.", "Texts": [ { "Key": "App.StaticLookup.TUBITAK", diff --git a/configs/seeds/wizard/ProjectActivities.json b/configs/seeds/wizard/ProjectActivities.json index 02d3c978..8c8f6a7f 100644 --- a/configs/seeds/wizard/ProjectActivities.json +++ b/configs/seeds/wizard/ProjectActivities.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Activities", "MenuTr": "Faaliyetler", "TitleEn": "Activities", "TitleTr": "Faaliyetler", - "DescEn": "Activities — the activities planned and carried out within the project, written in a rich HTML editor.\nWhere: Project Management › Projects › Activities tab.\nFields: Activities (HTML).\nEdits the same project record as the main card; there is no separate table.", - "DescTr": "Faaliyetler — proje kapsamında planlanan ve yürütülen faaliyetler; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının Faaliyetler sekmesi.\nAlanlar: Faaliyetler (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "DescEn": "Activities — the activities planned and carried out within the project, written in a rich HTML editor.\nWhere: Project › Projects › Activities tab.\nFields: Activities (HTML).\nEdits the same project record as the main card; there is no separate table.", + "DescTr": "Faaliyetler — proje kapsamında planlanan ve yürütülen faaliyetler; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının Faaliyetler sekmesi.\nAlanlar: Faaliyetler (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, "Groups": [ { diff --git a/configs/seeds/wizard/ProjectCostSummary.json b/configs/seeds/wizard/ProjectCostSummary.json index c1358b87..9433d159 100644 --- a/configs/seeds/wizard/ProjectCostSummary.json +++ b/configs/seeds/wizard/ProjectCostSummary.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Man-Month and Detailed Cost Report", "MenuTr": "Adam / Ay Oranları ve Detaylı Maliyet Raporu", "TitleEn": "Man-Month and Detailed Cost Report", "TitleTr": "Adam / Ay Oranları ve Detaylı Maliyet Raporu", - "DescEn": "Man-Month and Detailed Cost Report — read-only summary of the project: one row for Planned and one for Actual.\nWhere: Project Management › Projects › Man-Month and Detailed Cost Report tab.\nColumns: man-month, personnel, travel, equipment, consulting, service, material, other and total cost.\nCalculated from the work packages' Man-Month rows and the Planned Resources / Actual Expenses tabs; no records are entered here.", - "DescTr": "Adam / Ay Oranları ve Detaylı Maliyet Raporu — projenin salt okunur özeti: Planlanan ve Gerçek için birer satır.\nNerede: Proje Yönetimi › Projeler ekranının Adam / Ay Oranları ve Detaylı Maliyet Raporu sekmesi.\nKolonlar: adam/ay, personel, seyahat, ekipman, danışmanlık, hizmet, malzeme, diğer ve toplam maliyet.\nİş paketlerinin Adam/Ay satırlarından ve Planlanan Kaynaklar / Gerçekleşen Masraflar sekmelerinden hesaplanır; burada kayıt girilmez.", + "DescEn": "Man-Month and Detailed Cost Report — read-only summary of the project: one row for Planned and one for Actual.\nWhere: Project › Projects › Man-Month and Detailed Cost Report tab.\nColumns: man-month, personnel, travel, equipment, consulting, service, material, other and total cost.\nCalculated from the work packages' Man-Month rows and the Planned Resources / Actual Expenses tabs; no records are entered here.", + "DescTr": "Adam / Ay Oranları ve Detaylı Maliyet Raporu — projenin salt okunur özeti: Planlanan ve Gerçek için birer satır.\nNerede: Proje › Projeler ekranının Adam / Ay Oranları ve Detaylı Maliyet Raporu sekmesi.\nKolonlar: adam/ay, personel, seyahat, ekipman, danışmanlık, hizmet, malzeme, diğer ve toplam maliyet.\nİş paketlerinin Adam/Ay satırlarından ve Planlanan Kaynaklar / Gerçekleşen Masraflar sekmelerinden hesaplanır; burada kayıt girilmez.", "Texts": [ { "Key": "App.StaticLookup.Planned", diff --git a/configs/seeds/wizard/ProjectInnovation.json b/configs/seeds/wizard/ProjectInnovation.json index fafb9ee7..3cf2b464 100644 --- a/configs/seeds/wizard/ProjectInnovation.json +++ b/configs/seeds/wizard/ProjectInnovation.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Innovative Aspect", "MenuTr": "Yenilikçi Yönü", "TitleEn": "Innovative Aspect", "TitleTr": "Yenilikçi Yönü", - "DescEn": "Innovative Aspect — what is new and innovative about the project, written in a rich HTML editor.\nWhere: Project Management › Projects › Innovative Aspect tab.\nFields: Innovation (HTML).\nEdits the same project record as the main card; there is no separate table.", - "DescTr": "Yenilikçi Yönü — projenin yenilikçi ve özgün yönleri; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının Yenilikçi Yönü sekmesi.\nAlanlar: Yenilikçi Yönü (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "DescEn": "Innovative Aspect — what is new and innovative about the project, written in a rich HTML editor.\nWhere: Project › Projects › Innovative Aspect tab.\nFields: Innovation (HTML).\nEdits the same project record as the main card; there is no separate table.", + "DescTr": "Yenilikçi Yönü — projenin yenilikçi ve özgün yönleri; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının Yenilikçi Yönü sekmesi.\nAlanlar: Yenilikçi Yönü (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, "Groups": [ { diff --git a/configs/seeds/wizard/ProjectMember.json b/configs/seeds/wizard/ProjectMember.json index b4b6a788..65841f67 100644 --- a/configs/seeds/wizard/ProjectMember.json +++ b/configs/seeds/wizard/ProjectMember.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Team", "MenuTr": "Takım", "TitleEn": "Team", "TitleTr": "Takım", - "DescEn": "Team — the personnel working on the project, organised as a tree: first the team leader, then the people reporting to them (Manager field).\nWhere: Project Management › Projects › Team tab.\nFields: employee, role (from Project Roles), manager (another team member), average monthly cost.\nCalculated: package count, man-month total (Σ work package rates / 100), worked months and total cost (man-month × average monthly cost).", - "DescTr": "Takım — projede çalışan personel; ağaç yapısında tutulur: önce takım lideri, sonra ona bağlı personel (Yönetici alanı).\nNerede: Proje Yönetimi › Projeler ekranının Takım sekmesi.\nAlanlar: personel, görev (Görev Listesi'nden), yönetici (başka bir takım üyesi), ortalama aylık maliyet.\nHesaplanan: paket adedi, adam/ay toplamı (Σ iş paketi oranı / 100), çalışılan ay ve toplam maliyet (adam/ay × ort. aylık maliyet)." + "DescEn": "Team — the personnel working on the project, organised as a tree: first the team leader, then the people reporting to them (Manager field).\nWhere: Project › Projects › Team tab.\nFields: employee, role (from Project Roles), manager (another team member), average monthly cost.\nCalculated: package count, man-month total (Σ work package rates / 100), worked months and total cost (man-month × average monthly cost).", + "DescTr": "Takım — projede çalışan personel; ağaç yapısında tutulur: önce takım lideri, sonra ona bağlı personel (Yönetici alanı).\nNerede: Proje › Projeler ekranının Takım sekmesi.\nAlanlar: personel, görev (Görev Listesi'nden), yönetici (başka bir takım üyesi), ortalama aylık maliyet.\nHesaplanan: paket adedi, adam/ay toplamı (Σ iş paketi oranı / 100), çalışılan ay ve toplam maliyet (adam/ay × ort. aylık maliyet)." }, "Groups": [ { diff --git a/configs/seeds/wizard/ProjectNeeds.json b/configs/seeds/wizard/ProjectNeeds.json index 18fae201..c5d4f04b 100644 --- a/configs/seeds/wizard/ProjectNeeds.json +++ b/configs/seeds/wizard/ProjectNeeds.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Needs", "MenuTr": "İhtiyaçlar", "TitleEn": "Needs", "TitleTr": "İhtiyaçlar", - "DescEn": "Needs — the problems and needs that led to the project, written in a rich HTML editor.\nWhere: Project Management › Projects › Needs tab.\nFields: Needs (HTML).\nEdits the same project record as the main card; there is no separate table.", - "DescTr": "İhtiyaçlar — projeyi doğuran sorun ve ihtiyaçlar; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının İhtiyaçlar sekmesi.\nAlanlar: İhtiyaçlar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "DescEn": "Needs — the problems and needs that led to the project, written in a rich HTML editor.\nWhere: Project › Projects › Needs tab.\nFields: Needs (HTML).\nEdits the same project record as the main card; there is no separate table.", + "DescTr": "İhtiyaçlar — projeyi doğuran sorun ve ihtiyaçlar; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının İhtiyaçlar sekmesi.\nAlanlar: İhtiyaçlar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, "Groups": [ { diff --git a/configs/seeds/wizard/ProjectOutputs.json b/configs/seeds/wizard/ProjectOutputs.json index edb8039b..cfc2a740 100644 --- a/configs/seeds/wizard/ProjectOutputs.json +++ b/configs/seeds/wizard/ProjectOutputs.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Outputs and Benefits", "MenuTr": "Çıktı ve Faydaları", "TitleEn": "Outputs and Benefits", "TitleTr": "Çıktı ve Faydaları", - "DescEn": "Outputs and Benefits — expected outputs of the project and the benefits they bring, written in a rich HTML editor.\nWhere: Project Management › Projects › Outputs and Benefits tab.\nFields: Outputs (HTML).\nEdits the same project record as the main card; there is no separate table.", - "DescTr": "Çıktı ve Faydaları — projenin beklenen çıktıları ve sağlayacağı faydalar; HTML editörle yazılır.\nNerede: Proje Yönetimi › Projeler ekranının Çıktı ve Faydaları sekmesi.\nAlanlar: Çıktı ve Faydalar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "DescEn": "Outputs and Benefits — expected outputs of the project and the benefits they bring, written in a rich HTML editor.\nWhere: Project › Projects › Outputs and Benefits tab.\nFields: Outputs (HTML).\nEdits the same project record as the main card; there is no separate table.", + "DescTr": "Çıktı ve Faydaları — projenin beklenen çıktıları ve sağlayacağı faydalar; HTML editörle yazılır.\nNerede: Proje › Projeler ekranının Çıktı ve Faydaları sekmesi.\nAlanlar: Çıktı ve Faydalar (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, "Groups": [ { diff --git a/configs/seeds/wizard/ProjectRole.json b/configs/seeds/wizard/ProjectRole.json index 644171dc..eecc85c2 100644 --- a/configs/seeds/wizard/ProjectRole.json +++ b/configs/seeds/wizard/ProjectRole.json @@ -12,8 +12,8 @@ { "Code": "App.Prj", "Icon": "FcGanttChart", - "En": "Project Management", - "Tr": "Proje Yönetimi" + "En": "Project", + "Tr": "Proje" } ], "MenuParentCode": "App.Prj.Definitions", @@ -26,14 +26,14 @@ "Language": { "MenuParentEn": "Definitions", "MenuParentTr": "Tanımlamalar", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Project Roles", "MenuTr": "Görevler", "TitleEn": "Project Roles", "TitleTr": "Görev Listesi", - "DescEn": "Project Roles — the roles personnel take in projects (e.g. R&D Engineer, Project Coordinator).\nWhere: Project Management › Definitions › Project Roles.\nFields: role name (unique per tenant) and active flag.\nUsed as the Role lookup on the project Team tab; only active roles can be selected.", - "DescTr": "Görev Listesi — personelin projelerde üstlendiği görevler (ör. Ar-Ge Mühendisi, Proje Koordinatörü).\nNerede: Proje Yönetimi › Tanımlamalar › Görevler.\nAlanlar: görev adı (kiracı içinde benzersiz) ve aktiflik.\nProje kartının Takım sekmesinde Görev seçimi buradan gelir; yalnızca aktif görevler seçilebilir." + "DescEn": "Project Roles — the roles personnel take in projects (e.g. R&D Engineer, Project Coordinator).\nWhere: Project › Definitions › Project Roles.\nFields: role name (unique per tenant) and active flag.\nUsed as the Role lookup on the project Team tab; only active roles can be selected.", + "DescTr": "Görev Listesi — personelin projelerde üstlendiği görevler (ör. Ar-Ge Mühendisi, Proje Koordinatörü).\nNerede: Proje › Tanımlamalar › Görevler.\nAlanlar: görev adı (kiracı içinde benzersiz) ve aktiflik.\nProje kartının Takım sekmesinde Görev seçimi buradan gelir; yalnızca aktif görevler seçilebilir." }, "Groups": [ { diff --git a/configs/seeds/wizard/ProjectSummary.json b/configs/seeds/wizard/ProjectSummary.json index c5421968..ab8e323a 100644 --- a/configs/seeds/wizard/ProjectSummary.json +++ b/configs/seeds/wizard/ProjectSummary.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Project Summary", "MenuTr": "Proje Özeti", "TitleEn": "Project Summary", "TitleTr": "Proje Özeti", - "DescEn": "Project Summary — the free-text summary of the project written in a rich HTML editor.\nWhere: Project Management › Projects › Project Summary tab.\nFields: Summary (HTML).\nEdits the same project record as the main card; there is no separate table.", - "DescTr": "Proje Özeti — projenin HTML editörle yazılan serbest metin özeti.\nNerede: Proje Yönetimi › Projeler ekranının Proje Özeti sekmesi.\nAlanlar: Özet (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." + "DescEn": "Project Summary — the free-text summary of the project written in a rich HTML editor.\nWhere: Project › Projects › Project Summary tab.\nFields: Summary (HTML).\nEdits the same project record as the main card; there is no separate table.", + "DescTr": "Proje Özeti — projenin HTML editörle yazılan serbest metin özeti.\nNerede: Proje › Projeler ekranının Proje Özeti sekmesi.\nAlanlar: Özet (HTML).\nAna kartla aynı proje kaydını düzenler; ayrı tablo yoktur." }, "Groups": [ { diff --git a/configs/seeds/wizard/ProjectSupport.json b/configs/seeds/wizard/ProjectSupport.json index 4206cf1e..3b74b902 100644 --- a/configs/seeds/wizard/ProjectSupport.json +++ b/configs/seeds/wizard/ProjectSupport.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Support", "MenuTr": "Destek", "TitleEn": "Support", "TitleTr": "Destek", - "DescEn": "Support — funding information of the project.\nWhere: Project Management › Projects › Support tab.\nFields: national and international R&D support institution, amount covered by own funds, support amount, total project budget (TL), service purchase subject and the place where the service is purchased.\nEdits the same project record as the main card.", - "DescTr": "Destek — projenin destek ve bütçe bilgileri.\nNerede: Proje Yönetimi › Projeler ekranının Destek sekmesi.\nAlanlar: ulusal ve uluslararası Ar-Ge destek kurumu, öz kaynakla karşılanan tutar, destek tutarı, toplam proje bütçesi (TL), hizmet alımı konusu ve hizmet alımı yapılan yer.\nAna kartla aynı proje kaydını düzenler." + "DescEn": "Support — funding information of the project.\nWhere: Project › Projects › Support tab.\nFields: national and international R&D support institution, amount covered by own funds, support amount, total project budget (TL), service purchase subject and the place where the service is purchased.\nEdits the same project record as the main card.", + "DescTr": "Destek — projenin destek ve bütçe bilgileri.\nNerede: Proje › Projeler ekranının Destek sekmesi.\nAlanlar: ulusal ve uluslararası Ar-Ge destek kurumu, öz kaynakla karşılanan tutar, destek tutarı, toplam proje bütçesi (TL), hizmet alımı konusu ve hizmet alımı yapılan yer.\nAna kartla aynı proje kaydını düzenler." }, "Groups": [ { diff --git a/configs/seeds/wizard/ResourceList.json b/configs/seeds/wizard/ResourceList.json index 9a322696..18161f02 100644 --- a/configs/seeds/wizard/ResourceList.json +++ b/configs/seeds/wizard/ResourceList.json @@ -16,16 +16,16 @@ "MenuIcon": "FcViewDetails" }, "Language": { - "MenuParentEn": "Project Management", - "MenuParentTr": "Proje Yönetimi", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "MenuParentEn": "Project", + "MenuParentTr": "Proje", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Resource List", "MenuTr": "Kaynak Listesi", "TitleEn": "Resource List", "TitleTr": "Kaynak Listesi", - "DescEn": "Resource List — read-only list of all planned and actual resources of all projects in one place.\nWhere: Project Management › Resource List.\nColumns: project no/name, work package no/name, type, resource, quantity, unit, price, cost, kind (Planned/Actual), document date/no, organisation type, work done and description.\nRecords are entered in the Planned Resources and Actual Expenses tabs of Work Packages; no record is added here.", - "DescTr": "Kaynak Listesi — tüm projelerin planlanan ve gerçekleşen kaynaklarının tek yerde salt okunur listesi.\nNerede: Proje Yönetimi › Kaynak Listesi.\nKolonlar: proje no/adı, iş paket no/adı, tipi, kaynak, adet, birim, fiyat, maliyet, türü (Planlanan/Gerçek), belge tarihi/no, kuruluş türü, yaptırılan iş ve açıklaması.\nKayıtlar İş Paketleri ekranının Planlanan Kaynaklar ve Gerçekleşen Masraflar sekmelerinden girilir; burada kayıt eklenmez." + "DescEn": "Resource List — read-only list of all planned and actual resources of all projects in one place.\nWhere: Project › Resource List.\nColumns: project no/name, work package no/name, type, resource, quantity, unit, price, cost, kind (Planned/Actual), document date/no, organisation type, work done and description.\nRecords are entered in the Planned Resources and Actual Expenses tabs of Work Packages; no record is added here.", + "DescTr": "Kaynak Listesi — tüm projelerin planlanan ve gerçekleşen kaynaklarının tek yerde salt okunur listesi.\nNerede: Proje › Kaynak Listesi.\nKolonlar: proje no/adı, iş paket no/adı, tipi, kaynak, adet, birim, fiyat, maliyet, türü (Planlanan/Gerçek), belge tarihi/no, kuruluş türü, yaptırılan iş ve açıklaması.\nKayıtlar İş Paketleri ekranının Planlanan Kaynaklar ve Gerçekleşen Masraflar sekmelerinden girilir; burada kayıt eklenmez." }, "Groups": [ { diff --git a/configs/seeds/wizard/Tag.json b/configs/seeds/wizard/Tag.json index 98e9db71..b7e25de6 100644 --- a/configs/seeds/wizard/Tag.json +++ b/configs/seeds/wizard/Tag.json @@ -12,8 +12,8 @@ { "Code": "App.Prj", "Icon": "FcGanttChart", - "En": "Project Management", - "Tr": "Proje Yönetimi" + "En": "Project", + "Tr": "Proje" } ], "MenuParentCode": "App.Prj.Definitions", @@ -26,14 +26,14 @@ "Language": { "MenuParentEn": "Definitions", "MenuParentTr": "Tanımlamalar", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Tags", "MenuTr": "Etiketler", "TitleEn": "Tags", "TitleTr": "Etiketler", - "DescEn": "Tags — colored labels that are attached to projects so they can be grouped and filtered.\nWhere: Project Management › Definitions › Tags.\nFields: name (unique per tenant), color shown as a dot in lists and in the project's tag box, active flag.\nOnly active tags can be chosen on the Projects screen (Tags field).", - "DescTr": "Etiketler — projelere eklenen, gruplama ve filtreleme için kullanılan renkli etiketler.\nNerede: Proje Yönetimi › Tanımlamalar › Etiketler.\nAlanlar: ad (kiracı içinde benzersiz), listelerde ve proje etiket kutusunda nokta olarak görünen renk, aktiflik.\nProjeler ekranındaki Etiketler alanında yalnızca aktif etiketler seçilebilir." + "DescEn": "Tags — colored labels that are attached to projects so they can be grouped and filtered.\nWhere: Project › Definitions › Tags.\nFields: name (unique per tenant), color shown as a dot in lists and in the project's tag box, active flag.\nOnly active tags can be chosen on the Projects screen (Tags field).", + "DescTr": "Etiketler — projelere eklenen, gruplama ve filtreleme için kullanılan renkli etiketler.\nNerede: Proje › Tanımlamalar › Etiketler.\nAlanlar: ad (kiracı içinde benzersiz), listelerde ve proje etiket kutusunda nokta olarak görünen renk, aktiflik.\nProjeler ekranındaki Etiketler alanında yalnızca aktif etiketler seçilebilir." }, "Groups": [ { diff --git a/configs/seeds/wizard/UserMonthRate.json b/configs/seeds/wizard/UserMonthRate.json index 89c75f6b..91df784c 100644 --- a/configs/seeds/wizard/UserMonthRate.json +++ b/configs/seeds/wizard/UserMonthRate.json @@ -12,8 +12,8 @@ { "Code": "App.Prj", "Icon": "FcGanttChart", - "En": "Project Management", - "Tr": "Proje Yönetimi" + "En": "Project", + "Tr": "Proje" } ], "MenuParentCode": "App.Prj.Definitions", @@ -26,14 +26,14 @@ "Language": { "MenuParentEn": "Definitions", "MenuParentTr": "Tanımlamalar", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Monthly Man-Month Rates", "MenuTr": "Aylık Adam/Ay Oranları", "TitleEn": "Monthly Man-Month Rates", "TitleTr": "Aylık Adam/Ay Oranları", - "DescEn": "Monthly Man-Month Rates — each employee's overall working rate (%) per year and month, used by R&D centre style reporting.\nWhere: Project Management › Definitions › Monthly Man-Month Rates.\nFields: employee, month, year, rate (default 100). One row per employee and month.\nThe Personnel Man-Month report multiplies the work package rate with this monthly rate to find the effective rate and real cost.", - "DescTr": "Aylık Adam/Ay Oranları — personelin yıl ve ay bazındaki genel çalışma oranı (%); Ar-Ge merkezi raporlaması için kullanılır.\nNerede: Proje Yönetimi › Tanımlamalar › Aylık Adam/Ay Oranları.\nAlanlar: personel, ay, yıl, oran (varsayılan 100). Personel ve ay başına tek satır.\nPersonel Adam/Ay Oranları raporu iş paketi oranını bu aylık oranla çarparak aya düşen çalışma oranını ve gerçek maliyeti hesaplar.", + "DescEn": "Monthly Man-Month Rates — each employee's overall working rate (%) per year and month, used by R&D centre style reporting.\nWhere: Project › Definitions › Monthly Man-Month Rates.\nFields: employee, month, year, rate (default 100). One row per employee and month.\nThe Personnel Man-Month report multiplies the work package rate with this monthly rate to find the effective rate and real cost.", + "DescTr": "Aylık Adam/Ay Oranları — personelin yıl ve ay bazındaki genel çalışma oranı (%); Ar-Ge merkezi raporlaması için kullanılır.\nNerede: Proje › Tanımlamalar › Aylık Adam/Ay Oranları.\nAlanlar: personel, ay, yıl, oran (varsayılan 100). Personel ve ay başına tek satır.\nPersonel Adam/Ay Oranları raporu iş paketi oranını bu aylık oranla çarparak aya düşen çalışma oranını ve gerçek maliyeti hesaplar.", "Texts": [ { "Key": "App.Widget.Personnel", diff --git a/configs/seeds/wizard/WorkPackage.json b/configs/seeds/wizard/WorkPackage.json index 31cba915..628061aa 100644 --- a/configs/seeds/wizard/WorkPackage.json +++ b/configs/seeds/wizard/WorkPackage.json @@ -16,16 +16,16 @@ "MenuIcon": "FcGanttChart" }, "Language": { - "MenuParentEn": "Project Management", - "MenuParentTr": "Proje Yönetimi", - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "MenuParentEn": "Project", + "MenuParentTr": "Proje", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Work Packages", "MenuTr": "İş Paketleri", "TitleEn": "Work Packages", "TitleTr": "İş Paketleri", - "DescEn": "Work Packages — the hierarchical work plan of projects shown as a Gantt chart on a monthly scale (1 → 1.01, 1.02 …).\nWhere: Project Management › Work Packages; also the Work Packages tab of the project card.\nFields: project, parent package, code, name, start and end date, months (calculated), progress %, colour, note. Tasks can be added and moved directly on the Gantt.\nTabs: Personnel, Man-Month (monthly rates per employee), Planned Resources and Actual Expenses.", - "DescTr": "İş Paketleri — projelerin hiyerarşik iş planı; ay ölçeğinde Gantt olarak gösterilir (1 → 1.01, 1.02 …).\nNerede: Proje Yönetimi › İş Paketleri; ayrıca proje kartının İş Paketleri sekmesi.\nAlanlar: proje, üst paket, kod, ad, başlangıç ve bitiş tarihi, ay (hesaplanır), ilerleme %, renk, not. Görevler Gantt üzerinde doğrudan eklenip taşınabilir.\nSekmeler: Personel, Adam/Ay (personel bazında aylık oranlar), Planlanan Kaynaklar ve Gerçekleşen Masraflar." + "DescEn": "Work Packages — the hierarchical work plan of projects shown as a Gantt chart on a monthly scale (1 → 1.01, 1.02 …).\nWhere: Project › Work Packages; also the Work Packages tab of the project card.\nFields: project, parent package, code, name, start and end date, months (calculated), progress %, colour, note. Tasks can be added and moved directly on the Gantt.\nTabs: Personnel, Man-Month (monthly rates per employee), Planned Resources and Actual Expenses.", + "DescTr": "İş Paketleri — projelerin hiyerarşik iş planı; ay ölçeğinde Gantt olarak gösterilir (1 → 1.01, 1.02 …).\nNerede: Proje › İş Paketleri; ayrıca proje kartının İş Paketleri sekmesi.\nAlanlar: proje, üst paket, kod, ad, başlangıç ve bitiş tarihi, ay (hesaplanır), ilerleme %, renk, not. Görevler Gantt üzerinde doğrudan eklenip taşınabilir.\nSekmeler: Personel, Adam/Ay (personel bazında aylık oranlar), Planlanan Kaynaklar ve Gerçekleşen Masraflar." }, "Groups": [ { diff --git a/configs/seeds/wizard/WorkPackageActual.json b/configs/seeds/wizard/WorkPackageActual.json index 26d6615a..2a7fc5ad 100644 --- a/configs/seeds/wizard/WorkPackageActual.json +++ b/configs/seeds/wizard/WorkPackageActual.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Actual Expenses", "MenuTr": "Gerçekleşen Masraflar", "TitleEn": "Actual Expenses", "TitleTr": "Gerçekleşen Masraflar", - "DescEn": "Actual Expenses — realised costs of the selected work package, entered the same way as planned resources.\nWhere: Project Management › Work Packages › Actual Expenses tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the Resource List, cost summary and budget report as 'Actual'; the document date decides the budget month.", - "DescTr": "Gerçekleşen Masraflar — seçili iş paketinin gerçekleşen maliyetleri; planlanan kaynaklarla aynı biçimde girilir.\nNerede: Proje Yönetimi › İş Paketleri ekranının Gerçekleşen Masraflar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar Kaynak Listesi, maliyet özeti ve bütçe raporuna 'Gerçek' olarak yansır; bütçe ayı belge tarihinden alınır." + "DescEn": "Actual Expenses — realised costs of the selected work package, entered the same way as planned resources.\nWhere: Project › Work Packages › Actual Expenses tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the Resource List, cost summary and budget report as 'Actual'; the document date decides the budget month.", + "DescTr": "Gerçekleşen Masraflar — seçili iş paketinin gerçekleşen maliyetleri; planlanan kaynaklarla aynı biçimde girilir.\nNerede: Proje › İş Paketleri ekranının Gerçekleşen Masraflar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar Kaynak Listesi, maliyet özeti ve bütçe raporuna 'Gerçek' olarak yansır; bütçe ayı belge tarihinden alınır." }, "Groups": [ { diff --git a/configs/seeds/wizard/WorkPackageMember.json b/configs/seeds/wizard/WorkPackageMember.json index aee2bc25..136edbb1 100644 --- a/configs/seeds/wizard/WorkPackageMember.json +++ b/configs/seeds/wizard/WorkPackageMember.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Work Package Personnel", "MenuTr": "İş Paketi Personeli", "TitleEn": "Personnel", "TitleTr": "Personel", - "DescEn": "Work Package Personnel — the employees who work on the selected work package.\nWhere: Project Management › Work Packages › Personnel tab (also reached from the project card).\nFields: employee (one row per employee per package).\nPackage counts on the project Team tab are calculated from these rows.", - "DescTr": "İş Paketi Personeli — seçili iş paketinde çalışan personel.\nNerede: Proje Yönetimi › İş Paketleri ekranının Personel sekmesi (proje kartından da açılır).\nAlanlar: personel (paket başına personel tek satır).\nProje kartının Takım sekmesindeki Paket Adedi bu satırlardan hesaplanır." + "DescEn": "Work Package Personnel — the employees who work on the selected work package.\nWhere: Project › Work Packages › Personnel tab (also reached from the project card).\nFields: employee (one row per employee per package).\nPackage counts on the project Team tab are calculated from these rows.", + "DescTr": "İş Paketi Personeli — seçili iş paketinde çalışan personel.\nNerede: Proje › İş Paketleri ekranının Personel sekmesi (proje kartından da açılır).\nAlanlar: personel (paket başına personel tek satır).\nProje kartının Takım sekmesindeki Paket Adedi bu satırlardan hesaplanır." }, "Groups": [ { diff --git a/configs/seeds/wizard/WorkPackageMonthRate.json b/configs/seeds/wizard/WorkPackageMonthRate.json index d6e2ddfe..29870117 100644 --- a/configs/seeds/wizard/WorkPackageMonthRate.json +++ b/configs/seeds/wizard/WorkPackageMonthRate.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Work Package Man-Month", "MenuTr": "İş Paketi Adam/Ay", "TitleEn": "Man-Month", "TitleTr": "Adam/Ay", - "DescEn": "Work Package Man-Month — the percentage of each month an employee spends on the selected work package.\nWhere: Project Management › Work Packages › Man-Month tab.\nFields: employee, month, year, rate (0–100). One row per employee and month.\nThe Man-Month Gantt, Team totals and Personnel Man-Month report are all calculated from these rows.", - "DescTr": "İş Paketi Adam/Ay — personelin ilgili ayda seçili iş paketine ayırdığı yüzde.\nNerede: Proje Yönetimi › İş Paketleri ekranının Adam/Ay sekmesi.\nAlanlar: personel, ay, yıl, oran (0–100). Personel ve ay başına tek satır.\nAdam/Ay Oranları Gantt'ı, Takım toplamları ve Personel Adam/Ay Oranları raporu bu satırlardan hesaplanır." + "DescEn": "Work Package Man-Month — the percentage of each month an employee spends on the selected work package.\nWhere: Project › Work Packages › Man-Month tab.\nFields: employee, month, year, rate (0–100). One row per employee and month.\nThe Man-Month Gantt, Team totals and Personnel Man-Month report are all calculated from these rows.", + "DescTr": "İş Paketi Adam/Ay — personelin ilgili ayda seçili iş paketine ayırdığı yüzde.\nNerede: Proje › İş Paketleri ekranının Adam/Ay sekmesi.\nAlanlar: personel, ay, yıl, oran (0–100). Personel ve ay başına tek satır.\nAdam/Ay Oranları Gantt'ı, Takım toplamları ve Personel Adam/Ay Oranları raporu bu satırlardan hesaplanır." }, "Groups": [ { diff --git a/configs/seeds/wizard/WorkPackagePlanned.json b/configs/seeds/wizard/WorkPackagePlanned.json index f271ebc6..ab3a661f 100644 --- a/configs/seeds/wizard/WorkPackagePlanned.json +++ b/configs/seeds/wizard/WorkPackagePlanned.json @@ -19,14 +19,14 @@ "Language": { "MenuParentEn": null, "MenuParentTr": null, - "PermissionGroupEn": "Project Management", - "PermissionGroupTr": "Proje Yönetimi", + "PermissionGroupEn": "Project", + "PermissionGroupTr": "Proje", "MenuEn": "Planned Resources", "MenuTr": "Planlanan Kaynaklar", "TitleEn": "Planned Resources", "TitleTr": "Planlanan Kaynaklar", - "DescEn": "Planned Resources — budgeted costs of the selected work package: personnel, travel, equipment, consulting, service, material and other.\nWhere: Project Management › Work Packages › Planned Resources tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the cost summary and the budget report as 'Planned'.", - "DescTr": "Planlanan Kaynaklar — seçili iş paketinin bütçelenen maliyetleri: personel, seyahat, ekipman, danışmanlık, hizmet, malzeme ve diğer.\nNerede: Proje Yönetimi › İş Paketleri ekranının Planlanan Kaynaklar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar maliyet özeti ve bütçe raporuna 'Planlanan' olarak yansır.", + "DescEn": "Planned Resources — budgeted costs of the selected work package: personnel, travel, equipment, consulting, service, material and other.\nWhere: Project › Work Packages › Planned Resources tab.\nFields: resource type, employee (travel/personnel), resource name, organisation type/name, work done and description, document date/no, unit, price, quantity, VAT, cost.\nCost = Price × Quantity × (1 + VAT/100) and is calculated automatically. Rows feed the cost summary and the budget report as 'Planned'.", + "DescTr": "Planlanan Kaynaklar — seçili iş paketinin bütçelenen maliyetleri: personel, seyahat, ekipman, danışmanlık, hizmet, malzeme ve diğer.\nNerede: Proje › İş Paketleri ekranının Planlanan Kaynaklar sekmesi.\nAlanlar: kaynak tipi, personel (seyahat/personel gideri), kaynak adı, kuruluş türü/adı, yaptırılan iş ve açıklaması, belge tarihi/no, birim, fiyat, adet, KDV, maliyet.\nMaliyet = Fiyat × Adet × (1 + KDV/100) otomatik hesaplanır. Satırlar maliyet özeti ve bütçe raporuna 'Planlanan' olarak yansır.", "Texts": [ { "Key": "App.StaticLookup.Personnel", diff --git a/ui/src/assets/styles/template/_horizontal-menu.css b/ui/src/assets/styles/template/_horizontal-menu.css new file mode 100644 index 00000000..38b5dbf9 --- /dev/null +++ b/ui/src/assets/styles/template/_horizontal-menu.css @@ -0,0 +1,67 @@ +.horizontal-menu { + @apply flex flex-wrap items-center gap-y-1; +} + +/* Ayırıcı kardeş seçiciyle çizilir: yetkisi olmayan menü DOM'a hiç girmediği için çift çizgi oluşmaz. */ +.horizontal-menu-entry + .horizontal-menu-entry { + @apply relative ltr:pl-px rtl:pr-px; + + &::before { + content: ''; + @apply absolute top-1/2 -translate-y-1/2 ltr:left-0 rtl:right-0 h-5 w-px bg-gray-300 dark:bg-gray-600; + } +} + +.horizontal-menu-themed .horizontal-menu-entry + .horizontal-menu-entry::before { + @apply bg-white/25; +} + +.horizontal-menu-tab { + @apply relative mx-0.5 px-2 gap-x-1.5 text-sm; +} + +/* Aktif sekme arka planla değil yalnızca alt çizgiyle işaretlenir; renk menü moduna göre koyulaşır. */ +.horizontal-menu-tab-active::after { + content: ''; + @apply absolute inset-x-2 -bottom-1 h-0.5 rounded-full bg-current; +} + +.horizontal-menu-light .menu-item.horizontal-menu-tab-active, +.horizontal-menu-transparent .menu-item.horizontal-menu-tab-active { + @apply text-gray-900 dark:text-gray-100; +} + +.horizontal-menu-dark .menu-item.horizontal-menu-tab-active { + @apply text-gray-100; +} + +.horizontal-menu-themed .menu-item.horizontal-menu-tab-active { + @apply text-opacity-100; +} + +/* Açılır menü: genel Dropdown'a dokunmadan yalnızca üst menünün panelleri kapsanır. */ +.horizontal-menu .dropdown-menu { + @apply min-w-[240px] p-1 rounded-lg border border-gray-200 bg-white shadow-xl ring-0 + dark:border-gray-700 dark:bg-gray-800; + + .menu-item { + @apply px-2.5 gap-x-0 rounded-md text-sm font-normal text-gray-700 dark:text-gray-300; + height: 2rem !important; + } + + .menu-item.menu-item-hoverable:hover { + @apply bg-gray-100 text-gray-900 dark:bg-white/[.06] dark:text-white; + } + + .dropdown-submenu-item > svg { + @apply opacity-40; + } +} + +.horizontal-menu-icon { + @apply inline-flex w-5 shrink-0 justify-center text-base ltr:mr-2.5 rtl:ml-2.5; +} + +.horizontal-menu-sub-active { + @apply font-medium text-gray-900 underline decoration-2 underline-offset-4 dark:text-white; +} diff --git a/ui/src/assets/styles/template/index.css b/ui/src/assets/styles/template/index.css index 58e9375d..fd5386ff 100644 --- a/ui/src/assets/styles/template/index.css +++ b/ui/src/assets/styles/template/index.css @@ -2,3 +2,4 @@ @import "./_side-nav.css"; @import "./_stacked-side-nav.css"; @import "./_secondary-header.css"; +@import "./_horizontal-menu.css"; diff --git a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuContent.tsx b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuContent.tsx index 20273275..e5a60c78 100644 --- a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuContent.tsx +++ b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuContent.tsx @@ -1,4 +1,7 @@ import type { NavMode } from '@/proxy/theme/models' +import type { NavigationTree } from '@/proxy/menus/navigation' +import { useLocation } from 'react-router-dom' +import classNames from 'classnames' import { PermissionCheck } from '@/components/shared' import Dropdown from '@/components/ui/Dropdown' import { @@ -16,11 +19,18 @@ type HorizontalMenuContentProps = { userAuthority?: string[] } +const containsPath = (nav: NavigationTree, pathname: string): boolean => + (!!nav.path && + !nav.isExternalLink && + (pathname === nav.path || pathname.startsWith(`${nav.path}/`))) || + nav.subMenu.some((sub) => containsPath(sub, pathname)) + const HorizontalMenuContent = ({ manuVariant }: HorizontalMenuContentProps) => { const { mainMenu: navigationConfig } = useStoreState((state) => state.abpConfig.menu) + const { pathname } = useLocation() return ( -
+
{navigationConfig.map((nav) => { if (nav.type === NAV_ITEM_TYPE_TITLE || nav.type === NAV_ITEM_TYPE_COLLAPSE) { return ( @@ -28,48 +38,76 @@ const HorizontalMenuContent = ({ manuVariant }: HorizontalMenuContentProps) => { key={nav.key || `nav-${nav.path || Math.random()}`} permissions={nav.authority} > - } - > - {nav.subMenu.map((secondarySubNav) => ( - - {secondarySubNav.subMenu.length > 0 ? ( - - - {secondarySubNav.title} -
- } - > - {secondarySubNav.subMenu.map((tertiarySubNav) => ( - - - - ))} - - ) : ( - - )} - - ))} - +
+ + } + > + {nav.subMenu.map((secondarySubNav) => ( + + {secondarySubNav.subMenu.length > 0 ? ( + + + + {secondarySubNav.title} + +
+ } + > + {secondarySubNav.subMenu.map((tertiarySubNav) => ( + + + + ))} + + ) : ( + + )} + + ))} + +
) } if (nav.type === NAV_ITEM_TYPE_ITEM) { return ( - +
+ +
) } @@ -79,5 +117,4 @@ const HorizontalMenuContent = ({ manuVariant }: HorizontalMenuContentProps) => { ) } - export default HorizontalMenuContent diff --git a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuDropdownItem.tsx b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuDropdownItem.tsx index c21f8b5b..bc02560c 100644 --- a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuDropdownItem.tsx +++ b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuDropdownItem.tsx @@ -1,3 +1,4 @@ +import classNames from 'classnames' import Dropdown from '@/components/ui/Dropdown' import HorizontalMenuNavLink from './HorizontalMenuNavLink' @@ -10,19 +11,23 @@ export type HorizontalMenuItemProps = { path: string isExternalLink?: boolean } + isActive?: boolean } -const HorizontalMenuDropdownItem = ({ nav }: HorizontalMenuItemProps) => { +const HorizontalMenuDropdownItem = ({ nav, isActive }: HorizontalMenuItemProps) => { const { title, path, key, isExternalLink, icon } = nav + const label = ( + {title} + ) return ( {path ? ( - {title} + {label} ) : ( - {title} + label )} ) diff --git a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuIcon.tsx b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuIcon.tsx index c3266377..1b4f8198 100644 --- a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuIcon.tsx +++ b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuIcon.tsx @@ -1,5 +1,4 @@ import { useNavigationIcons } from '@/proxy/menus/navigation-icon.config' -import type { ElementType, ComponentPropsWithRef } from 'react' import React from 'react' import { FaQuestionCircle } from 'react-icons/fa' @@ -7,16 +6,6 @@ type HorizontalMenuIconProps = { icon: string } -export const Icon = ({ - component, - ...props -}: { - header: T -} & ComponentPropsWithRef) => { - const Component = component - return -} - const HorizontalMenuIcon = ({ icon }: HorizontalMenuIconProps) => { const navigationIcon = useNavigationIcons() @@ -24,10 +13,11 @@ const HorizontalMenuIcon = ({ icon }: HorizontalMenuIconProps) => { return <> } - // React.createElement ile dinamik ikon bileşenini render et - const IconComponent = navigationIcon[icon] || FaQuestionCircle // fallback ikon - - return {React.createElement(IconComponent)} + return ( + + {React.createElement(navigationIcon[icon] || FaQuestionCircle)} + + ) } export default HorizontalMenuIcon diff --git a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuItem.tsx b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuItem.tsx index bb8646b8..2d6dc6b4 100644 --- a/ui/src/components/template/HorizontalMenuContent/HorizontalMenuItem.tsx +++ b/ui/src/components/template/HorizontalMenuContent/HorizontalMenuItem.tsx @@ -1,5 +1,6 @@ import { useNavigationIcons } from '@/proxy/menus/navigation-icon.config' import MenuItem from '@/components/ui/MenuItem' +import classNames from 'classnames' import HorizontalMenuNavLink from './HorizontalMenuNavLink' import type { NavMode } from '@/proxy/theme/models' import React from 'react' @@ -15,35 +16,32 @@ export type HorizontalMenuItemProps = { isExternalLink?: boolean } isLink?: boolean + isActive?: boolean manuVariant: NavMode } -const HorizontalMenuItem = ({ nav, isLink, manuVariant }: HorizontalMenuItemProps) => { +const HorizontalMenuItem = ({ nav, isLink, isActive, manuVariant }: HorizontalMenuItemProps) => { const { title, icon, path, isExternalLink } = nav const navigationIcon = useNavigationIcons() - // Dinamik ikon render etmek için createElement kullanıyoruz - const renderIcon = - icon && React.createElement(navigationIcon[icon] || FaQuestionCircle, { className: 'text-2xl' }) + const item = ( + + {icon && + React.createElement(navigationIcon[icon] || FaQuestionCircle, { className: 'text-xl' })} + {title} + + ) - return ( - <> - {path && isLink ? ( - - - - {renderIcon} - {title} - - - - ) : ( - - {renderIcon} - {title} - - )} - + return path && isLink ? ( + + {item} + + ) : ( + item ) }