Compare commits
2 Commits
3fbe607ed7
...
94d651c29e
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94d651c29e | ||
|
|
3e8985ffe0 |
@@ -42,7 +42,8 @@ router.post(
|
|||||||
'/',
|
'/',
|
||||||
authorize('contacts', 'contacts', 'create'),
|
authorize('contacts', 'contacts', 'create'),
|
||||||
[
|
[
|
||||||
body('type').isIn(['INDIVIDUAL', 'COMPANY', 'HOLDING', 'GOVERNMENT']),
|
body('type').isIn(['INDIVIDUAL', 'COMPANY', 'HOLDING', 'GOVERNMENT','ORGANIZATION',
|
||||||
|
'BANK','UNIVERSITY','SCHOOL','UN','NGO','INSTITUTION',]),
|
||||||
body('name').notEmpty().trim(),
|
body('name').notEmpty().trim(),
|
||||||
body('email').optional().isEmail(),
|
body('email').optional().isEmail(),
|
||||||
body('source').notEmpty(),
|
body('source').notEmpty(),
|
||||||
|
|||||||
@@ -679,7 +679,7 @@ class ContactsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Validate type
|
// Validate type
|
||||||
if (!['INDIVIDUAL', 'COMPANY', 'HOLDING', 'GOVERNMENT'].includes(row.type)) {
|
if (!['INDIVIDUAL', 'COMPANY', 'HOLDING', 'GOVERNMENT', 'ORGANIZATION','BANK','UNIVERSITY','SCHOOL','UN','NGO','INSTITUTION',].includes(row.type)) {
|
||||||
results.errors.push({
|
results.errors.push({
|
||||||
row: rowNumber,
|
row: rowNumber,
|
||||||
field: 'type',
|
field: 'type',
|
||||||
|
|||||||
@@ -98,7 +98,14 @@ function ContactDetailContent() {
|
|||||||
INDIVIDUAL: 'bg-blue-100 text-blue-700',
|
INDIVIDUAL: 'bg-blue-100 text-blue-700',
|
||||||
COMPANY: 'bg-green-100 text-green-700',
|
COMPANY: 'bg-green-100 text-green-700',
|
||||||
HOLDING: 'bg-purple-100 text-purple-700',
|
HOLDING: 'bg-purple-100 text-purple-700',
|
||||||
GOVERNMENT: 'bg-orange-100 text-orange-700'
|
GOVERNMENT: 'bg-orange-100 text-orange-700',
|
||||||
|
ORGANIZATION: 'bg-cyan-100 text-cyan-700',
|
||||||
|
BANK: 'bg-emerald-100 text-emerald-700',
|
||||||
|
UNIVERSITY: 'bg-indigo-100 text-indigo-700',
|
||||||
|
SCHOOL: 'bg-yellow-100 text-yellow-700',
|
||||||
|
UN: 'bg-sky-100 text-sky-700',
|
||||||
|
NGO: 'bg-pink-100 text-pink-700',
|
||||||
|
INSTITUTION: 'bg-gray-100 text-gray-700'
|
||||||
}
|
}
|
||||||
return colors[type] || 'bg-gray-100 text-gray-700'
|
return colors[type] || 'bg-gray-100 text-gray-700'
|
||||||
}
|
}
|
||||||
@@ -108,7 +115,14 @@ function ContactDetailContent() {
|
|||||||
INDIVIDUAL: 'فرد - Individual',
|
INDIVIDUAL: 'فرد - Individual',
|
||||||
COMPANY: 'شركة - Company',
|
COMPANY: 'شركة - Company',
|
||||||
HOLDING: 'مجموعة - Holding',
|
HOLDING: 'مجموعة - Holding',
|
||||||
GOVERNMENT: 'حكومي - Government'
|
GOVERNMENT: 'حكومي - Government',
|
||||||
|
ORGANIZATION: 'منظمات - Organizations',
|
||||||
|
BANK: 'بنوك - Banks',
|
||||||
|
UNIVERSITY: 'جامعات - Universities',
|
||||||
|
SCHOOL: 'مدارس - Schools',
|
||||||
|
UN: 'UN - United Nations',
|
||||||
|
NGO: 'NGO - Non-Governmental Organization',
|
||||||
|
INSTITUTION: 'مؤسسة - Institution'
|
||||||
}
|
}
|
||||||
return labels[type] || type
|
return labels[type] || type
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,7 +195,14 @@ function ContactsContent() {
|
|||||||
INDIVIDUAL: 'bg-blue-100 text-blue-700',
|
INDIVIDUAL: 'bg-blue-100 text-blue-700',
|
||||||
COMPANY: 'bg-green-100 text-green-700',
|
COMPANY: 'bg-green-100 text-green-700',
|
||||||
HOLDING: 'bg-purple-100 text-purple-700',
|
HOLDING: 'bg-purple-100 text-purple-700',
|
||||||
GOVERNMENT: 'bg-orange-100 text-orange-700'
|
GOVERNMENT: 'bg-orange-100 text-orange-700',
|
||||||
|
ORGANIZATION: 'bg-cyan-100 text-cyan-700',
|
||||||
|
BANK: 'bg-emerald-100 text-emerald-700',
|
||||||
|
UNIVERSITY: 'bg-indigo-100 text-indigo-700',
|
||||||
|
SCHOOL: 'bg-yellow-100 text-yellow-700',
|
||||||
|
UN: 'bg-sky-100 text-sky-700',
|
||||||
|
NGO: 'bg-pink-100 text-pink-700',
|
||||||
|
INSTITUTION: 'bg-gray-100 text-gray-700'
|
||||||
}
|
}
|
||||||
return colors[type] || 'bg-gray-100 text-gray-700'
|
return colors[type] || 'bg-gray-100 text-gray-700'
|
||||||
}
|
}
|
||||||
@@ -209,7 +216,14 @@ function ContactsContent() {
|
|||||||
INDIVIDUAL: 'فرد',
|
INDIVIDUAL: 'فرد',
|
||||||
COMPANY: 'شركة',
|
COMPANY: 'شركة',
|
||||||
HOLDING: 'مجموعة',
|
HOLDING: 'مجموعة',
|
||||||
GOVERNMENT: 'حكومي'
|
GOVERNMENT: 'حكومي',
|
||||||
|
ORGANIZATION: 'منظمات',
|
||||||
|
BANK: 'بنوك',
|
||||||
|
UNIVERSITY: 'جامعات',
|
||||||
|
SCHOOL: 'مدارس',
|
||||||
|
UN: 'UN',
|
||||||
|
NGO: 'NGO',
|
||||||
|
INSTITUTION: 'مؤسسة'
|
||||||
}
|
}
|
||||||
return labels[type] || type
|
return labels[type] || type
|
||||||
}
|
}
|
||||||
@@ -372,6 +386,13 @@ function ContactsContent() {
|
|||||||
<option value="COMPANY">Companies</option>
|
<option value="COMPANY">Companies</option>
|
||||||
<option value="HOLDING">Holdings</option>
|
<option value="HOLDING">Holdings</option>
|
||||||
<option value="GOVERNMENT">Government</option>
|
<option value="GOVERNMENT">Government</option>
|
||||||
|
<option value="ORGANIZATION">Organizations</option>
|
||||||
|
<option value="BANK">Banks</option>
|
||||||
|
<option value="UNIVERSITY">Universities</option>
|
||||||
|
<option value="SCHOOL">Schools</option>
|
||||||
|
<option value="UN">UN</option>
|
||||||
|
<option value="NGO">NGO</option>
|
||||||
|
<option value="INSTITUTION">Institution</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
{/* Status Filter */}
|
{/* Status Filter */}
|
||||||
|
|||||||
@@ -175,6 +175,13 @@ export default function ContactForm({ contact, onSubmit, onCancel, submitting =
|
|||||||
<option value="COMPANY">Company - شركة</option>
|
<option value="COMPANY">Company - شركة</option>
|
||||||
<option value="HOLDING">Holding - مجموعة</option>
|
<option value="HOLDING">Holding - مجموعة</option>
|
||||||
<option value="GOVERNMENT">Government - حكومي</option>
|
<option value="GOVERNMENT">Government - حكومي</option>
|
||||||
|
<option value="ORGANIZATION">Organizations - منظمات</option>
|
||||||
|
<option value="BANK">Banks - بنوك</option>
|
||||||
|
<option value="UNIVERSITY">Universities - جامعات</option>
|
||||||
|
<option value="SCHOOL">Schools - مدارس</option>
|
||||||
|
<option value="UN">UN - الأمم المتحدة</option>
|
||||||
|
<option value="NGO">NGO - منظمة غير حكومية</option>
|
||||||
|
<option value="INSTITUTION">Institution - مؤسسة</option>
|
||||||
</select>
|
</select>
|
||||||
{formErrors.type && <p className="text-red-500 text-xs mt-1">{formErrors.type}</p>}
|
{formErrors.type && <p className="text-red-500 text-xs mt-1">{formErrors.type}</p>}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user