Add warning when staff has no departments assigned
This commit is contained in:
parent
80ccccb951
commit
99ea7e0f8a
|
@ -28,10 +28,12 @@ class AdminPanelAllTickets extends React.Component {
|
|||
}
|
||||
|
||||
render() {
|
||||
const noDepartments = !this.props.departments.length;
|
||||
return (
|
||||
<div className="admin-panel-my-tickets">
|
||||
<div className="admin-panel-all-tickets">
|
||||
<Header title={i18n('ALL_TICKETS')} description={i18n('ALL_TICKETS_DESCRIPTION')} />
|
||||
<div className="admin-panel-my-tickets__search-box">
|
||||
{(noDepartments) ? <Message className="admin-panel-all-tickets__department-warning" type="warning">{i18n('NO_DEPARTMENT_ASSIGNED')}</Message> : null}
|
||||
<div className="admin-panel-all-tickets__search-box">
|
||||
<SearchBox onSearch={this.onSearch.bind(this)} />
|
||||
</div>
|
||||
{(this.props.error) ? <Message type="error">{i18n('ERROR_RETRIEVING_TICKETS')}</Message> : <TicketList {...this.getTicketListProps()}/>}
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
.admin-panel-my-tickets {
|
||||
.admin-panel-all-tickets {
|
||||
|
||||
&__search-box {
|
||||
padding: 0 50px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
&__department-warning {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,9 +22,11 @@ class AdminPanelNewTickets extends React.Component {
|
|||
}
|
||||
|
||||
render() {
|
||||
const noDepartments = !this.props.departments.length;
|
||||
return (
|
||||
<div className="admin-panel-my-tickets">
|
||||
<div className="admin-panel-new-tickets">
|
||||
<Header title={i18n('NEW_TICKETS')} description={i18n('NEW_TICKETS_DESCRIPTION')} />
|
||||
{(noDepartments) ? <Message className="admin-panel-new-tickets__department-warning" type="warning">{i18n('NO_DEPARTMENT_ASSIGNED')}</Message> : null}
|
||||
{(this.props.error) ? <Message type="error">{i18n('ERROR_RETRIEVING_TICKETS')}</Message> : <TicketList {...this.getProps()}/>}
|
||||
</div>
|
||||
);
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
.admin-panel-new-tickets {
|
||||
|
||||
&__department-warning {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
}
|
|
@ -10,7 +10,7 @@ class Message extends React.Component {
|
|||
title: React.PropTypes.string,
|
||||
children: React.PropTypes.node,
|
||||
leftAligned: React.PropTypes.bool,
|
||||
type: React.PropTypes.oneOf(['success', 'error', 'info'])
|
||||
type: React.PropTypes.oneOf(['success', 'error', 'info', 'warning'])
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
|
@ -53,6 +53,7 @@ class Message extends React.Component {
|
|||
'message_success': (this.props.type === 'success'),
|
||||
'message_error': (this.props.type === 'error'),
|
||||
'message_info': (this.props.type === 'info'),
|
||||
'message_warning': (this.props.type === 'warning'),
|
||||
'message_with-title': (this.props.title),
|
||||
'message_left-aligned': (this.props.leftAligned),
|
||||
|
||||
|
@ -66,7 +67,8 @@ class Message extends React.Component {
|
|||
let iconNames = {
|
||||
'success': 'check-circle',
|
||||
'error': 'exclamation-circle',
|
||||
'info': 'info-circle'
|
||||
'info': 'info-circle',
|
||||
'warning': 'exclamation-triangle'
|
||||
};
|
||||
|
||||
return iconNames[this.props.type];
|
||||
|
|
|
@ -68,6 +68,22 @@
|
|||
}
|
||||
}
|
||||
|
||||
&_warning {
|
||||
background-color: #fcb90063;
|
||||
|
||||
.message__icon {
|
||||
color: #fcb900;
|
||||
}
|
||||
|
||||
.message__title {
|
||||
color: $primary-blue;
|
||||
}
|
||||
|
||||
.message__content {
|
||||
color: $primary-blue;
|
||||
}
|
||||
}
|
||||
|
||||
&_with-title {
|
||||
text-align: left;
|
||||
|
||||
|
@ -95,4 +111,4 @@
|
|||
padding-left: 28px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'A resposta customizada será excluída.',
|
||||
'WILL_DELETE_DEPARTMENT': 'O departamento será excluído. Todos os chamados serão transferidos para o departamento selecionado.',
|
||||
'NO_STAFF_ASSIGNED': 'Ninguém da equipe está atribuído a este departamento.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Nenhum departamento de chamados é atribuído a você.',
|
||||
'LEVEL_UPDATED': 'Nível foi atualizado com êxito.',
|
||||
'DEPARTMENTS_UPDATED': 'Os departamentos foram atualizados com sucesso.',
|
||||
'FAILED_EDIT_STAFF': 'Ocorreu um erro ao tentar editar o membro da equipe.',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': '自定義響應將被刪除。',
|
||||
'WILL_DELETE_DEPARTMENT': '部門將被刪除。所有票將轉移到所選部門。',
|
||||
'NO_STAFF_ASSIGNED': '沒有工作人員被分配到這個部門。',
|
||||
'NO_DEPARTMENT_ASSIGNED': '没有为您分配票务部门。',
|
||||
'LEVEL_UPDATED': '級別已成功更新。',
|
||||
'DEPARTMENTS_UPDATED': '部門已成功更新。',
|
||||
'FAILED_EDIT_STAFF': '嘗試編輯員工時出錯。',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'Die benutzerdefinierte Antwort wird gelöscht.',
|
||||
'WILL_DELETE_DEPARTMENT': 'Die Abteilung wird gelöscht. Alle Tickets werden an die gewählte Abteilung übertragen.',
|
||||
'NO_STAFF_ASSIGNED': 'Dieser Abteilung ist kein Mitarbeiter zugeordnet.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Ihnen ist keine Ticketabteilung zugeordnet.',
|
||||
'LEVEL_UPDATED': 'Level wurde erfolgreich aktualisiert.',
|
||||
'DEPARTMENTS_UPDATED': 'Abteilungen wurden erfolgreich aktualisiert.',
|
||||
'FAILED_EDIT_STAFF': 'Beim bearbeiten des Mitarbeiters ist ein Fehler aufgetreten.',
|
||||
|
|
|
@ -337,6 +337,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'The custom response will be deleted.',
|
||||
'WILL_DELETE_DEPARTMENT': 'The department will be deleted. All the tickets will be transfer to the department selected.',
|
||||
'NO_STAFF_ASSIGNED': 'No staff member is assigned to this department.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'No ticket department is assigned you.',
|
||||
'LEVEL_UPDATED': 'Level has been updated successfully.',
|
||||
'DEPARTMENTS_UPDATED': 'Departments have been updated successfully.',
|
||||
'FAILED_EDIT_STAFF': 'An error occurred while trying to edit staff member.',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'La respuesta personalizada se eliminará.',
|
||||
'WILL_DELETE_DEPARTMENT': 'Se eliminará el departamento. Todos los tickets serán transferidos al departamento seleccionado.',
|
||||
'NO_STAFF_ASSIGNED': 'Ningún miembro de staff está asignado a este departamento.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'No tienes ningún departamento asignado.',
|
||||
'LEVEL_UPDATED': 'El nivel se ha actualizado correctamente.',
|
||||
'DEPARTMENTS_UPDATED': 'Los departamentos se han actualizado correctamente.',
|
||||
'FAILED_EDIT_STAFF': 'Se ha producido un error al intentar editar al miembro de staff.',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'La réponse personnalisée sera supprimée.',
|
||||
'WILL_DELETE_DEPARTMENT': 'Le département sera supprimé. Tous les tickets seront transférés au département sélectionné.',
|
||||
'NO_STAFF_ASSIGNED': 'Aucun membre de l\'administration n\'est affecté à ce service.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Aucun service de tickets ne vous est assigné.',
|
||||
'LEVEL_UPDATED': 'Le niveau a été mis à jour avec succès.',
|
||||
'DEPARTMENTS_UPDATED': 'Les départements ont été mis à jour avec succès.',
|
||||
'FAILED_EDIT_STAFF': 'Une erreur s\'est produite lors de la tentative de modification de l\'administrateur.',
|
||||
|
|
|
@ -337,6 +337,7 @@
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'Η προσαρμοσμένη απάντηση θα διαγραφεί.',
|
||||
'WILL_DELETE_DEPARTMENT': 'Το τμήμα θα διαγραφεί. Όλα τα εισιτήρια θα μεταφερθούν στο επιλεγμένο τμήμα.',
|
||||
'NO_STAFF_ASSIGNED': 'Κανένας υπάλληλος δεν έχει ανατεθεί σε αυτό το τμήμα.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Κανένα τμήμα δεν σας έχει εκχωρηθεί.',
|
||||
'LEVEL_UPDATED': 'Το επίπεδο έχει ενημερωθεί με επιτυχία.',
|
||||
'DEPARTMENTS_UPDATED': 'Τα τμήματα ενημερώθηκαν με επιτυχία.',
|
||||
'FAILED_EDIT_STAFF': 'Παρουσιάστηκε σφάλμα κατά την προσπάθεια επεξεργασίας του μέλους του προσωπικού.',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'कस्टम प्रतिक्रिया हटा दिया जाएगा।',
|
||||
'WILL_DELETE_DEPARTMENT': 'विभाग को हटा दिया जाएगा। सभी टिकट चुने हुए विभाग को हस्तांतरण होगा।',
|
||||
'NO_STAFF_ASSIGNED': 'कोई स्टाफ सदस्य इस विभाग को सौंपा है।',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'कोई टिकट विभाग आपको सौंपा गया है.',
|
||||
'LEVEL_UPDATED': 'स्तर को सफलतापूर्वक अद्यतन किया गया है।',
|
||||
'DEPARTMENTS_UPDATED': 'विभागों को सफलतापूर्वक अद्यतन किया गया है।',
|
||||
'FAILED_EDIT_STAFF': 'स्टाफ सदस्य को संपादित करने की कोशिश में एक त्रुटि हुई।',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'La risposta personalizzata verrà eliminata..',
|
||||
'WILL_DELETE_DEPARTMENT': 'Il dipartimento verrà cancellato. Tutti i ticket saranno trasferiti al dipartimento selezionato.',
|
||||
'NO_STAFF_ASSIGNED': 'Nessun membro dello staff è assegnato a questo dipartimento.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Nessun reparto ticket è stato affidato a te.',
|
||||
'LEVEL_UPDATED': 'Il livello è stato aggiornato correttamente.',
|
||||
'DEPARTMENTS_UPDATED': 'I dipartimenti sono stati aggiornati con successo.',
|
||||
'FAILED_EDIT_STAFF': 'Si è verificato un errore durante la modifica di un membro dello staff.',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'カスタムレスポンスが削除されます。',
|
||||
'WILL_DELETE_DEPARTMENT': '部門は削除されます。すべてのチケットは、選択された部門に転送されます。',
|
||||
'NO_STAFF_ASSIGNED': 'この部署にはスタッフが割り当てられていません。',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'あなたに割り当てられたチケット部門はありません.',
|
||||
'LEVEL_UPDATED': 'レベルが正常に更新されました。',
|
||||
'DEPARTMENTS_UPDATED': '部署が正常に更新されました。',
|
||||
'FAILED_EDIT_STAFF': 'スタッフメンバーの編集中にエラーが発生しました。',
|
||||
|
|
|
@ -337,6 +337,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'Het aangepaste antwoord zal worden verwijderd.',
|
||||
'WILL_DELETE_DEPARTMENT': 'De afdeling wordt verwijderd. Alle incidenten worden overgedragen aan de geselecteerde afdeling.',
|
||||
'NO_STAFF_ASSIGNED': 'Er is geen medewerker toegewezen aan deze afdeling.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Er is u geen incidentafdeling toegewezen.',
|
||||
'LEVEL_UPDATED': 'Niveau is succesvol bijgewerkt.',
|
||||
'DEPARTMENTS_UPDATED': 'Afdelingen zijn succesvol bijgewerkt.',
|
||||
'FAILED_EDIT_STAFF': 'Er is een fout opgetreden bij het bewerken van de medewerker.',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'A resposta personalizada será excluída.',
|
||||
'WILL_DELETE_DEPARTMENT': 'O departamento será excluído. Todos os bilhetes serão transferidos para o departamento selecionado.',
|
||||
'NO_STAFF_ASSIGNED': 'Nenhum membro do pessoal é atribuído a este departamento.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Nenhum departamento de tickets é atribuído a você.',
|
||||
'LEVEL_UPDATED': 'Nível foi atualizado com êxito.',
|
||||
'DEPARTMENTS_UPDATED': 'Os departamentos foram atualizados com sucesso.',
|
||||
'FAILED_EDIT_STAFF': 'Ocorreu um erro ao tentar editar o membro da equipe.',
|
||||
|
|
|
@ -335,6 +335,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'Обычай ответ будет удален.',
|
||||
'WILL_DELETE_DEPARTMENT': 'Отдел будет удален. Все билеты будут передача в отдел выбранного.',
|
||||
'NO_STAFF_ASSIGNED': 'Ни один сотрудник не будет назначен в этот отдел.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Вам не назначено билетное ведомство.',
|
||||
'LEVEL_UPDATED': 'Уровень был успешно обновлен.',
|
||||
'DEPARTMENTS_UPDATED': 'Отделы были успешно обновлены.',
|
||||
'FAILED_EDIT_STAFF': 'Произошла ошибка при попытке редактирования сотрудника.',
|
||||
|
|
|
@ -336,6 +336,7 @@ export default {
|
|||
'WILL_DELETE_CUSTOM_RESPONSE': 'Özel yanıt silinir.',
|
||||
'WILL_DELETE_DEPARTMENT': 'Bölüm silinecek. Tüm biletler, seçilen bölüme transfer olacak.',
|
||||
'NO_STAFF_ASSIGNED': 'Bu bölüme hiçbir personel atanmamaktadır.',
|
||||
'NO_DEPARTMENT_ASSIGNED': 'Hiçbir bilet departmanı size atanmadı.',
|
||||
'LEVEL_UPDATED': 'Seviye başarıyla güncellendi.',
|
||||
'DEPARTMENTS_UPDATED': 'Bölümler başarıyla güncellendi.',
|
||||
'FAILED_EDIT_STAFF': 'Personel değiştirmeye çalışılırken bir hata oluştu.',
|
||||
|
|
|
@ -39,7 +39,7 @@ class GetAllTicketsStaffController extends Controller {
|
|||
]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
public function handler() {
|
||||
if (Ticket::isTableEmpty()) {
|
||||
Response::respondSuccess([
|
||||
|
@ -77,9 +77,8 @@ class GetAllTicketsStaffController extends Controller {
|
|||
foreach ($user->sharedDepartmentList as $department) {
|
||||
$query .= 'department_id=' . $department->id . ' OR ';
|
||||
}
|
||||
$query = substr($query,0,-3);
|
||||
$query .= ') ';
|
||||
$query .= 'FALSE) ';
|
||||
|
||||
return $query;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue