From 3fd62ba0ad5bfecf09b4dde921c5d7d14e1203e0 Mon Sep 17 00:00:00 2001 From: yotakii Date: Wed, 25 Mar 2026 12:04:27 +0300 Subject: [PATCH] some editing --- backend/src/modules/dashboard/dashboard.controller.ts | 6 +++++- frontend/public/logo.png | 0 frontend/src/app/admin/permission-groups/page.tsx | 2 ++ frontend/src/app/admin/roles/page.tsx | 2 ++ frontend/src/app/crm/page.tsx | 2 +- frontend/src/app/dashboard/page.tsx | 10 +++++++--- frontend/src/app/tenders/page.tsx | 3 +-- 7 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 frontend/public/logo.png diff --git a/backend/src/modules/dashboard/dashboard.controller.ts b/backend/src/modules/dashboard/dashboard.controller.ts index aab6f75..7527ae2 100644 --- a/backend/src/modules/dashboard/dashboard.controller.ts +++ b/backend/src/modules/dashboard/dashboard.controller.ts @@ -8,7 +8,11 @@ class DashboardController { const userId = req.user!.id; const [contactsCount, activeTasksCount, unreadNotificationsCount] = await Promise.all([ - prisma.contact.count(), + prisma.contact.count({ + where: { + archivedAt: null, + }, + }), prisma.task.count({ where: { status: { notIn: ['COMPLETED', 'CANCELLED'] }, diff --git a/frontend/public/logo.png b/frontend/public/logo.png new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/app/admin/permission-groups/page.tsx b/frontend/src/app/admin/permission-groups/page.tsx index 1bd7fab..cc11f4a 100644 --- a/frontend/src/app/admin/permission-groups/page.tsx +++ b/frontend/src/app/admin/permission-groups/page.tsx @@ -10,9 +10,11 @@ import LoadingSpinner from '@/components/LoadingSpinner'; const MODULES = [ { id: 'contacts', name: 'إدارة جهات الاتصال', nameEn: 'Contact Management' }, { id: 'crm', name: 'إدارة علاقات العملاء', nameEn: 'CRM' }, + { id: 'tenders', name: 'إدارة المناقصات', nameEn: 'Tender Management' }, { id: 'inventory', name: 'المخزون والأصول', nameEn: 'Inventory & Assets' }, { id: 'projects', name: 'المهام والمشاريع', nameEn: 'Tasks & Projects' }, { id: 'hr', name: 'الموارد البشرية', nameEn: 'HR Management' }, + { id: 'portal', name: 'البوابة الذاتية', nameEn: 'My Portal' }, { id: 'marketing', name: 'التسويق', nameEn: 'Marketing' }, { id: 'admin', name: 'لوحة الإدارة', nameEn: 'Admin' }, ]; diff --git a/frontend/src/app/admin/roles/page.tsx b/frontend/src/app/admin/roles/page.tsx index ab2b429..f1d0173 100644 --- a/frontend/src/app/admin/roles/page.tsx +++ b/frontend/src/app/admin/roles/page.tsx @@ -11,9 +11,11 @@ import LoadingSpinner from '@/components/LoadingSpinner'; const MODULES = [ { id: 'contacts', name: 'إدارة جهات الاتصال', nameEn: 'Contact Management' }, { id: 'crm', name: 'إدارة علاقات العملاء', nameEn: 'CRM' }, + { id: 'tenders', name: 'إدارة المناقصات', nameEn: 'Tender Management' }, { id: 'inventory', name: 'المخزون والأصول', nameEn: 'Inventory & Assets' }, { id: 'projects', name: 'المهام والمشاريع', nameEn: 'Tasks & Projects' }, { id: 'hr', name: 'الموارد البشرية', nameEn: 'HR Management' }, + { id: 'portal', name: 'البوابة الذاتية', nameEn: 'My Portal' }, { id: 'marketing', name: 'التسويق', nameEn: 'Marketing' }, { id: 'admin', name: 'لوحة الإدارة', nameEn: 'Admin' }, ]; diff --git a/frontend/src/app/crm/page.tsx b/frontend/src/app/crm/page.tsx index d61ab25..e33a78d 100644 --- a/frontend/src/app/crm/page.tsx +++ b/frontend/src/app/crm/page.tsx @@ -725,7 +725,7 @@ function CRMContent() { - +
diff --git a/frontend/src/app/dashboard/page.tsx b/frontend/src/app/dashboard/page.tsx index 4a7bec7..e3ff777 100644 --- a/frontend/src/app/dashboard/page.tsx +++ b/frontend/src/app/dashboard/page.tsx @@ -65,7 +65,7 @@ function DashboardContent() { color: 'bg-indigo-500', href: '/tenders', description: 'تسجيل ومتابعة المناقصات وتحويلها إلى فرص', - permission: 'crm' + permission: 'tenders' }, { id: 'inventory', @@ -105,7 +105,7 @@ function DashboardContent() { color: 'bg-cyan-500', href: '/portal', description: 'قروضي، إجازاتي، طلبات الشراء والرواتب', - permission: 'hr' + permission: 'portal' }, { id: 'marketing', @@ -142,7 +142,11 @@ function DashboardContent() {
- + Company Logo

ATMATA

diff --git a/frontend/src/app/tenders/page.tsx b/frontend/src/app/tenders/page.tsx index f8278eb..ddc35c1 100644 --- a/frontend/src/app/tenders/page.tsx +++ b/frontend/src/app/tenders/page.tsx @@ -102,7 +102,7 @@ function TendersContent() { if (!formData.title?.trim()) errors.title = t('common.required') if (!formData.announcementDate) errors.announcementDate = t('common.required') if (!formData.closingDate) errors.closingDate = t('common.required') - if (Number(formData.termsValue) < 0) errors.termsValue = t('common.required') + //if (Number(formData.termsValue) < 0) errors.termsValue = t('common.required') if (Number(formData.bondValue) < 0) errors.bondValue = t('common.required') setFormErrors(errors) if (Object.keys(errors).length > 0) return @@ -317,7 +317,6 @@ function TendersContent() { setFormData({ ...formData, termsValue: Number(e.target.value) || 0 })} className="w-full px-3 py-2 border rounded-lg"