Delete ticket priorities. (#822)
* Delete ticket priorities. * Fix style in autocomplete component. * Fix style in tag selector component. * Fix style in ticket query filters. * Fix style in ticket viewer. * Delete commented lines.
This commit is contained in:
parent
57434e2ef7
commit
62497d1263
|
@ -35,7 +35,6 @@ describe('TicketList component', function () {
|
|||
id: 1,
|
||||
name: 'Sales Support'
|
||||
},
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 3,
|
||||
name: 'Francisco Villegas'
|
||||
|
@ -123,27 +122,21 @@ describe('TicketList component', function () {
|
|||
className: 'ticket-list__title col-md-4'
|
||||
});
|
||||
expect(table[0].props.headers[2]).to.deep.equal(
|
||||
{
|
||||
key: 'priority',
|
||||
value: i18n('PRIORITY'),
|
||||
className: 'ticket-list__priority col-md-1'
|
||||
});
|
||||
expect(table[0].props.headers[3]).to.deep.equal(
|
||||
{
|
||||
key: 'department',
|
||||
value: i18n('DEPARTMENT'),
|
||||
className: 'ticket-list__department col-md-2'
|
||||
});
|
||||
expect(table[0].props.headers[4]).to.deep.equal(
|
||||
expect(table[0].props.headers[3]).to.deep.equal(
|
||||
{
|
||||
key: 'author',
|
||||
value: i18n('AUTHOR'),
|
||||
className: 'ticket-list__author col-md-2'
|
||||
});
|
||||
expect(table[0].props.headers[5].key).to.equal('date');
|
||||
expect(table[0].props.headers[5].value.props.children[0]).to.equal(i18n('DATE'));
|
||||
expect(table[0].props.headers[5].value.props.children[1]).to.equal(null);
|
||||
expect(table[0].props.headers[5].className).to.equal('ticket-list__date col-md-2');
|
||||
expect(table[0].props.headers[4].key).to.equal('date');
|
||||
expect(table[0].props.headers[4].value.props.children[0]).to.equal(i18n('DATE'));
|
||||
expect(table[0].props.headers[4].value.props.children[1]).to.equal(null);
|
||||
expect(table[0].props.headers[4].className).to.equal('ticket-list__date col-md-2');
|
||||
});
|
||||
|
||||
it('should pass correct props to dropdown', function () {
|
||||
|
|
|
@ -18,7 +18,6 @@ class ActivityRow extends React.Component {
|
|||
'CREATE_TICKET',
|
||||
'RE_OPEN',
|
||||
'DEPARTMENT_CHANGED',
|
||||
'PRIORITY_CHANGED',
|
||||
'EDIT_TITLE',
|
||||
'EDIT_COMMENT',
|
||||
|
||||
|
@ -59,7 +58,6 @@ class ActivityRow extends React.Component {
|
|||
'CREATE_TICKET',
|
||||
'RE_OPEN',
|
||||
'DEPARTMENT_CHANGED',
|
||||
'PRIORITY_CHANGED',
|
||||
'COMMENT_EDITED',
|
||||
'EDIT_TITLE',
|
||||
'EDIT_COMMENT',
|
||||
|
@ -115,7 +113,6 @@ class ActivityRow extends React.Component {
|
|||
'CREATE_TICKET': 'ticket',
|
||||
'RE_OPEN': 'unlock-alt',
|
||||
'DEPARTMENT_CHANGED': 'exchange',
|
||||
'PRIORITY_CHANGED': 'exclamation',
|
||||
'EDIT_TITLE': 'edit',
|
||||
'EDIT_COMMENT': 'edit',
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ class TicketEvent extends React.Component {
|
|||
'CLOSE',
|
||||
'RE_OPEN',
|
||||
'DEPARTMENT_CHANGED',
|
||||
'PRIORITY_CHANGED'
|
||||
]),
|
||||
author: React.PropTypes.object,
|
||||
content: React.PropTypes.string,
|
||||
|
@ -84,7 +83,6 @@ class TicketEvent extends React.Component {
|
|||
'CLOSE': this.renderClosed.bind(this),
|
||||
'RE_OPEN': this.renderReOpened.bind(this),
|
||||
'DEPARTMENT_CHANGED': this.renderDepartmentChange.bind(this),
|
||||
'PRIORITY_CHANGED': this.renderPriorityChange.bind(this)
|
||||
};
|
||||
|
||||
return renders[this.props.type]();
|
||||
|
@ -205,17 +203,6 @@ class TicketEvent extends React.Component {
|
|||
);
|
||||
}
|
||||
|
||||
renderPriorityChange() {
|
||||
return (
|
||||
<div className="ticket-event__circled">
|
||||
<span className="ticket-event__circled-author">{this.props.author.name}</span>
|
||||
<span className="ticket-event__circled-text"> {i18n('ACTIVITY_PRIORITY_CHANGED_THIS')}</span>
|
||||
<span className="ticket-event__circled-indication"> {this.props.content}</span>
|
||||
<span className="ticket-event__circled-date"> {i18n('DATE_PREFIX')} {DateTransformer.transformToString(this.props.date)}</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
renderPrivateBadge() {
|
||||
return (
|
||||
<span className="ticket-event__comment-badge-container">
|
||||
|
@ -270,7 +257,6 @@ class TicketEvent extends React.Component {
|
|||
'CLOSE': true,
|
||||
'RE_OPEN': true,
|
||||
'DEPARTMENT_CHANGED': true,
|
||||
'PRIORITY_CHANGED': true
|
||||
};
|
||||
const classes = {
|
||||
'row': true,
|
||||
|
@ -281,7 +267,6 @@ class TicketEvent extends React.Component {
|
|||
'ticket-event_close': this.props.type === 'CLOSE',
|
||||
'ticket-event_reopen': this.props.type === 'RE_OPEN',
|
||||
'ticket-event_department': this.props.type === 'DEPARTMENT_CHANGED',
|
||||
'ticket-event_priority': this.props.type === 'PRIORITY_CHANGED',
|
||||
'ticket-event_private': this.props.private*1,
|
||||
};
|
||||
|
||||
|
@ -296,7 +281,6 @@ class TicketEvent extends React.Component {
|
|||
'CLOSE': 'lock',
|
||||
'RE_OPEN': 'unlock-alt',
|
||||
'DEPARTMENT_CHANGED': 'exchange',
|
||||
'PRIORITY_CHANGED': 'exclamation'
|
||||
};
|
||||
const iconSize = {
|
||||
'COMMENT': '2x',
|
||||
|
@ -305,7 +289,6 @@ class TicketEvent extends React.Component {
|
|||
'CLOSE': 'lg',
|
||||
'RE_OPEN': 'lg',
|
||||
'DEPARTMENT_CHANGED': 'lg',
|
||||
'PRIORITY_CHANGED': 'lg'
|
||||
};
|
||||
|
||||
return {
|
||||
|
|
|
@ -213,12 +213,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
&_priority {
|
||||
.ticket-event__icon {
|
||||
padding-left: 11px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
}
|
||||
&_private {
|
||||
.ticket-event__comment-pointer {
|
||||
border-right-color: $light-yellow;
|
||||
|
|
|
@ -35,14 +35,6 @@ class TicketInfo extends React.Component {
|
|||
{(this.props.ticket.closed) ? 'closed' : 'open'}
|
||||
</span>
|
||||
</div>
|
||||
<div className="ticket-info__properties__priority">
|
||||
<span className="ticket-info__properties__label">
|
||||
{i18n('PRIORITY')}:
|
||||
</span>
|
||||
<span className={this.getPriorityClass()}>
|
||||
{this.props.ticket.priority}
|
||||
</span>
|
||||
</div>
|
||||
<div className="ticket-info__properties__owner">
|
||||
<span className="ticket-info__properties__label">
|
||||
{i18n('OWNED')}:
|
||||
|
@ -80,15 +72,6 @@ class TicketInfo extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
getPriorityClass() {
|
||||
let priorityClasses = {
|
||||
'low': 'ticket-info__properties__badge-green',
|
||||
'medium': 'ticket-info__properties__badge-blue',
|
||||
'high': 'ticket-info__properties__badge-red'
|
||||
};
|
||||
|
||||
return priorityClasses[this.props.ticket.priority];
|
||||
}
|
||||
}
|
||||
|
||||
export default TicketInfo;
|
||||
|
|
|
@ -36,7 +36,6 @@
|
|||
|
||||
&__status,
|
||||
&__owner,
|
||||
&__priority,
|
||||
&__comments {
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
|
|
|
@ -193,11 +193,6 @@ class TicketList extends React.Component {
|
|||
value: i18n('TITLE'),
|
||||
className: 'ticket-list__title col-md-4'
|
||||
},
|
||||
{
|
||||
key: 'priority',
|
||||
value: i18n('PRIORITY'),
|
||||
className: 'ticket-list__priority col-md-1'
|
||||
},
|
||||
{
|
||||
key: 'department',
|
||||
value: i18n('DEPARTMENT'),
|
||||
|
@ -287,7 +282,6 @@ class TicketList extends React.Component {
|
|||
</div>
|
||||
|
||||
),
|
||||
priority: this.getTicketPriority(ticket.priority),
|
||||
department: ticket.department.name,
|
||||
author: ticket.author.name,
|
||||
date: DateTransformer.transformToString(ticket.date, false),
|
||||
|
@ -296,24 +290,6 @@ class TicketList extends React.Component {
|
|||
};
|
||||
}
|
||||
|
||||
getTicketPriority(priority) {
|
||||
if(priority == 'high'){
|
||||
return (
|
||||
<span className="ticket-list__priority-high">{i18n('HIGH')}</span>
|
||||
);
|
||||
}
|
||||
if(priority == 'medium'){
|
||||
return (
|
||||
<span className="ticket-list__priority-medium">{i18n('MEDIUM')}</span>
|
||||
);
|
||||
}
|
||||
if(priority == 'low'){
|
||||
return (
|
||||
<span className="ticket-list__priority-low">{i18n('LOW')}</span>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
isTicketUnread(ticket) {
|
||||
if(this.props.type === 'primary') {
|
||||
return ticket.unread;
|
||||
|
|
|
@ -47,24 +47,4 @@
|
|||
text-decoration: underline;
|
||||
}
|
||||
|
||||
&__priority-low,
|
||||
&__priority-medium,
|
||||
&__priority-high {
|
||||
display: inline-block;
|
||||
border-radius: 10px;
|
||||
width: 70px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
&__priority-low {
|
||||
background-color: $primary-green;
|
||||
}
|
||||
|
||||
&__priority-medium {
|
||||
background-color: $secondary-blue;
|
||||
}
|
||||
|
||||
&__priority-high {
|
||||
background-color: $primary-red;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -48,20 +48,15 @@ class TicketQueryFilters extends React.Component {
|
|||
onChange={this.onChangeForm.bind(this)}
|
||||
onSubmit={this.onSubmitListConfig.bind(this)}>
|
||||
<div className="ticket-query-filters__search-box">
|
||||
<FormField name="query" field="search-box" fieldProps={{onSearch: this.onSubmitListConfig.bind(this)}}/>
|
||||
<FormField name="query" field="search-box" fieldProps={{onSearch: this.onSubmitListConfig.bind(this)}} />
|
||||
</div>
|
||||
<div className="ticket-query-filters__group">
|
||||
<div className="ticket-query-filters__group__container">
|
||||
<span>{i18n('PRIORITY')}</span>
|
||||
<FormField name="priority" field="select" fieldProps={{items: this.getPriorityItems()}} />
|
||||
</div>
|
||||
<div className="ticket-query-filters__group__container">
|
||||
<span>{i18n('DATE')}</span>
|
||||
<FormField
|
||||
name="dateRange"
|
||||
field="date-range"
|
||||
fieldProps={{defaultValue: this.dateRangeToFormValue(filters.dateRange)}}
|
||||
/>
|
||||
fieldProps={{defaultValue: this.dateRangeToFormValue(filters.dateRange)}} />
|
||||
</div>
|
||||
<div className="ticket-query-filters__group__container">
|
||||
<span>{i18n('STATUS')}</span>
|
||||
|
@ -229,17 +224,6 @@ class TicketQueryFilters extends React.Component {
|
|||
return departmentsList;
|
||||
}
|
||||
|
||||
getPriorityItems() {
|
||||
let items = [
|
||||
{id: 0, name: 'Any', content: i18n('ANY')},
|
||||
{id: 1, name: 'Low', content: i18n('LOW')},
|
||||
{id: 2, name: 'Medium', content: i18n('MEDIUM')},
|
||||
{id: 3, name: 'High', content: i18n('HIGH')},
|
||||
];
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
getSelectedDepartments(selectedDepartmentsId) {
|
||||
let selectedDepartments = [];
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: start;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -151,17 +151,6 @@ class TicketViewer extends React.Component {
|
|||
const ticket = this.props.ticket;
|
||||
const departments = this.getDepartmentsForTransfer();
|
||||
|
||||
const priorities = {
|
||||
'low': 0,
|
||||
'medium': 1,
|
||||
'high': 2
|
||||
};
|
||||
const priorityList = [
|
||||
{content: i18n('LOW')},
|
||||
{content: i18n('MEDIUM')},
|
||||
{content: i18n('HIGH')}
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="ticket-viewer__headers">
|
||||
<div className="ticket-viewer__info">
|
||||
|
@ -169,15 +158,11 @@ class TicketViewer extends React.Component {
|
|||
<div className="ticket-viewer__info-header">{i18n('DEPARTMENT')}</div>
|
||||
<div className="ticket-viewer__info-value">
|
||||
<DepartmentDropdown className="ticket-viewer__editable-dropdown"
|
||||
departments={departments}
|
||||
selectedIndex={_.findIndex(departments, {id: this.props.ticket.department.id})}
|
||||
onChange={this.onDepartmentDropdownChanged.bind(this)} />
|
||||
departments={departments}
|
||||
selectedIndex={_.findIndex(departments, {id: this.props.ticket.department.id})}
|
||||
onChange={this.onDepartmentDropdownChanged.bind(this)} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="ticket-viewer__info-container-editable">
|
||||
<div className="ticket-viewer__info-header">{i18n('AUTHOR')}</div>
|
||||
<div className="ticket-viewer__info-value">{ticket.author.name}</div>
|
||||
</div>
|
||||
<div className="ticket-viewer__info-container-editable">
|
||||
<div className="ticket-viewer__info-header">{i18n('TAGS')}</div>
|
||||
<div className="ticket-viewer__info-value">
|
||||
|
@ -189,25 +174,18 @@ class TicketViewer extends React.Component {
|
|||
loading={this.state.tagSelectorLoading}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="ticket-viewer__info">
|
||||
<div className="ticket-viewer__info-container-editable">
|
||||
<div className="ticket-viewer__info-header">{i18n('PRIORITY')}</div>
|
||||
<div className="ticket-viewer__info-value">
|
||||
<DropDown
|
||||
className="ticket-viewer__editable-dropdown"
|
||||
items={priorityList}
|
||||
selectedIndex={priorities[ticket.priority]}
|
||||
onChange={this.onPriorityDropdownChanged.bind(this)} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="ticket-viewer__info-container-editable">
|
||||
<div className="ticket-viewer__info-header">{i18n('OWNER')}</div>
|
||||
<div className="ticket-viewer__info-value">
|
||||
{this.renderAssignStaffList()}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="ticket-viewer__info">
|
||||
<div className="ticket-viewer__info-container-editable">
|
||||
<div className="ticket-viewer__info-header">{i18n('AUTHOR')}</div>
|
||||
<div className="ticket-viewer__info-value">{ticket.author.name}</div>
|
||||
</div>
|
||||
<div className="ticket-viewer__info-container-editable">
|
||||
<div className="ticket-viewer__info-header">{i18n('STATUS')}</div>
|
||||
<div className="ticket-viewer__info-value">
|
||||
|
@ -224,11 +202,6 @@ class TicketViewer extends React.Component {
|
|||
|
||||
renderHeaders() {
|
||||
const ticket = this.props.ticket;
|
||||
const priorities = {
|
||||
'low': 'LOW',
|
||||
'medium': 'MEDIUM',
|
||||
'high': 'HIGH'
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="ticket-viewer__headers">
|
||||
|
@ -250,12 +223,6 @@ class TicketViewer extends React.Component {
|
|||
</div>
|
||||
</div>
|
||||
<div className="ticket-viewer__info">
|
||||
<div className="ticket-viewer__info-container">
|
||||
<div className="ticket-viewer__info-header">{i18n('PRIORITY')}</div>
|
||||
<div className="ticket-viewer__info-value">
|
||||
{i18n(priorities[this.props.ticket.priority || 'low'])}
|
||||
</div>
|
||||
</div>
|
||||
<div className="ticket-viewer__info-container">
|
||||
<div className="ticket-viewer__info-header">{i18n('OWNER')}</div>
|
||||
<div className="ticket-viewer__info-value">
|
||||
|
@ -417,10 +384,6 @@ class TicketViewer extends React.Component {
|
|||
AreYouSure.openModal(null, this.changeDepartment.bind(this, event.index));
|
||||
}
|
||||
|
||||
onPriorityDropdownChanged(event) {
|
||||
AreYouSure.openModal(null, this.changePriority.bind(this, event.index));
|
||||
}
|
||||
|
||||
onAssignmentChange(event) {
|
||||
AreYouSure.openModal(null, this.assingTo.bind(this, event.index));
|
||||
}
|
||||
|
@ -522,22 +485,6 @@ class TicketViewer extends React.Component {
|
|||
}).then(this.onTicketModification.bind(this));
|
||||
}
|
||||
|
||||
changePriority(index) {
|
||||
const priorities = [
|
||||
'low',
|
||||
'medium',
|
||||
'high'
|
||||
];
|
||||
|
||||
return API.call({
|
||||
path: '/ticket/change-priority',
|
||||
data: {
|
||||
ticketNumber: this.props.ticket.ticketNumber,
|
||||
priority: priorities[index]
|
||||
}
|
||||
}).then(this.onTicketModification.bind(this));
|
||||
}
|
||||
|
||||
addTag(tag) {
|
||||
this.setState({
|
||||
tagSelectorLoading: true,
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
background-color: $light-grey;
|
||||
padding: 0 15px;
|
||||
padding: 0 15px 30px 15px;
|
||||
|
||||
&-container {
|
||||
display: flex;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
@import "../scss/vars";
|
||||
|
||||
.autocomplete {
|
||||
margin-bottom: 30px;
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
@import '../scss/vars';
|
||||
|
||||
.tag-selector{
|
||||
margin-bottom: 30px;
|
||||
text-align: left;
|
||||
|
||||
&__drop-down {
|
||||
|
|
|
@ -33,7 +33,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: true,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -97,17 +96,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '20150413',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: '',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '20150511',
|
||||
|
@ -153,7 +141,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'medium',
|
||||
author: {
|
||||
name: 'Haskell Curry',
|
||||
email: 'haskell@lambda.com'
|
||||
|
@ -214,17 +201,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '20150413',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: '',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '20150511',
|
||||
|
@ -270,7 +246,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'high',
|
||||
author: {
|
||||
name: 'Haskell Curry',
|
||||
email: 'haskell@lambda.com'
|
||||
|
@ -331,17 +306,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '20150413',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: '',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '20150511',
|
||||
|
@ -387,7 +351,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -426,7 +389,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: true,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -490,17 +452,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504130402',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: '',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505110405',
|
||||
|
@ -546,7 +497,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'medium',
|
||||
author: {
|
||||
name: 'Haskell Curry',
|
||||
email: 'haskell@lambda.com'
|
||||
|
@ -607,17 +557,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504132240',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: '',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505112241',
|
||||
|
@ -663,7 +602,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'high',
|
||||
author: {
|
||||
name: 'Haskell Curry',
|
||||
email: 'haskell@lambda.com'
|
||||
|
@ -724,17 +662,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504132305',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: '',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505112306',
|
||||
|
@ -780,7 +707,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -818,7 +744,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: true,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -845,7 +770,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: true,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -872,7 +796,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: true,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -911,7 +834,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -952,7 +874,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -1110,15 +1031,6 @@ module.exports = [
|
|||
"id": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "PRIORITY_CHANGED",
|
||||
"ticketNumber": "683061",
|
||||
"author": {
|
||||
"name": "Emilia Clarke",
|
||||
"staff": true,
|
||||
"id": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ASSIGN",
|
||||
"ticketNumber": "683061",
|
||||
|
@ -1155,15 +1067,6 @@ module.exports = [
|
|||
"id": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "PRIORITY_CHANGED",
|
||||
"ticketNumber": "608120",
|
||||
"author": {
|
||||
"name": "Emilia Clarke",
|
||||
"staff": true,
|
||||
"id": "1"
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
|
|
@ -108,7 +108,6 @@ module.exports = [
|
|||
unread: false,
|
||||
unreadStaff: true,
|
||||
closed: false,
|
||||
priority: 'medium',
|
||||
tags: [],
|
||||
author: {
|
||||
id: '3',
|
||||
|
@ -172,17 +171,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504131002',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: 'http://www.opensupports.com/profilepic.jpg',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505111003',
|
||||
|
|
|
@ -174,7 +174,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
name: 'Haskell Curry',
|
||||
email: 'haskell@lambda.com'
|
||||
|
@ -235,17 +234,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504130035',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: 'http://www.opensupports.com/profilepic.jpg',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505110110',
|
||||
|
@ -395,7 +383,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: true,
|
||||
closed: false,
|
||||
priority: 'low',
|
||||
author: {
|
||||
id: 12,
|
||||
name: 'Haskell Curry',
|
||||
|
@ -459,17 +446,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504130755',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: 'http://www.opensupports.com/profilepic.jpg',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505110759',
|
||||
|
@ -514,7 +490,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'medium',
|
||||
author: {
|
||||
name: 'Haskell Curry',
|
||||
email: 'haskell@lambda.com'
|
||||
|
@ -562,17 +537,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504130943',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: 'http://www.opensupports.com/profilepic.jpg',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505110955',
|
||||
|
@ -617,7 +581,6 @@ module.exports = [
|
|||
language: 'en',
|
||||
unread: false,
|
||||
closed: false,
|
||||
priority: 'high',
|
||||
author: {
|
||||
name: 'Haskell Curry',
|
||||
email: 'haskell@lambda.com'
|
||||
|
@ -678,17 +641,6 @@ module.exports = [
|
|||
staff: false
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'PRIORITY_CHANGED',
|
||||
date: '201504131119',
|
||||
content: 'MEDIUM',
|
||||
author: {
|
||||
name: 'Emilia Clarke',
|
||||
email: 'jobs@steve.com',
|
||||
profilePic: 'http://www.opensupports.com/profilepic.jpg',
|
||||
staff: true
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'COMMENT',
|
||||
date: '201505111121',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Configurações avançadas',
|
||||
'EMAIL_TEMPLATES': 'Modelos de e-mail',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filtros e campos personalizados',
|
||||
'PRIORITY': 'Prioridade',
|
||||
'NUMBER': 'Número',
|
||||
'HIGH': 'Alto',
|
||||
'MEDIUM': 'Médio',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'Chamado criado',
|
||||
'ACTIVITY_RE_OPEN': 'Chamado reaberto',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'Mudou departamento do Chamado',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'Prioridade alterada do Chamado',
|
||||
'ACTIVITY_EDIT_COMMENT': 'editado um comentário de bilhete',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'Configurações editadas',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'criou este chamado',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'reabriu este chamado',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'departamento deste chamado alterado para',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'alterou a prioridade deste chamado para',
|
||||
'DATE_PREFIX': 'em',
|
||||
'LEFT_EMPTY_DATABASE': 'Deixe vazio para criação automática do banco de dados',
|
||||
'DEFAULT_PORT': 'Deixar vazio para 3306 como padrão',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': '高級設置',
|
||||
'EMAIL_TEMPLATES': '電子郵件模板',
|
||||
'FILTERS_CUSTOM_FIELDS': '過濾器和自定義字段',
|
||||
'PRIORITY': '優先',
|
||||
'NUMBER': '數',
|
||||
'HIGH': '高',
|
||||
'MEDIUM': '中間',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': '創建的票',
|
||||
'ACTIVITY_RE_OPEN': '重開機票',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': '改變機票',
|
||||
'ACTIVITY_PRIORITY_CHANGED': '更改票的優先級',
|
||||
'ACTIVITY_EDIT_COMMENT': '编辑票的评论',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': '編輯設置',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': '創建了這張票',
|
||||
'ACTIVITY_RE_OPEN_THIS': '重新打開這張票',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': '改變這張票的部門 ',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': '將此票的優先級更改為',
|
||||
'DATE_PREFIX': '在',
|
||||
'LEFT_EMPTY_DATABASE': '留空为自动创建数据库',
|
||||
'DEFAULT_PORT': '默认为空,为3306',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Erweiterte Einstellungen',
|
||||
'EMAIL_TEMPLATES': 'E-Mail-Vorlagen',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filter und benutzerdefinierte Felder',
|
||||
'PRIORITY': 'Priorität',
|
||||
'NUMBER': 'Nummer',
|
||||
'HIGH': 'Hoch',
|
||||
'MEDIUM': 'Mittel',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'Ticket erstellt',
|
||||
'ACTIVITY_RE_OPEN': 'Ticket wieder geöffnet',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'Abteilung des Tickets wurde geändert.',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'Priorität des Tickets wurde geändert.',
|
||||
'ACTIVITY_EDIT_COMMENT': 'Kommentar von Ticket bearbeitet',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'Einstellungen',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'hat dieses Ticket erstellt',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'hat dieses Ticket wieder geöffnet',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'hat die Abteilung dieses Tickets geändert',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'hat die Priorität dieses Tickets geändert',
|
||||
'DATE_PREFIX': 'am',
|
||||
'LEFT_EMPTY_DATABASE': 'Leer lassen für automatische Datenbankerstellung.',
|
||||
'REMEMBER_ME': 'Merken',
|
||||
|
|
|
@ -62,7 +62,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Advanced Settings',
|
||||
'EMAIL_TEMPLATES': 'Email Templates',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filters and Custom Fields',
|
||||
'PRIORITY': 'Priority',
|
||||
'NUMBER': 'Number',
|
||||
'HIGH': 'High',
|
||||
'MEDIUM': 'Medium',
|
||||
|
@ -240,7 +239,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'created ticket',
|
||||
'ACTIVITY_RE_OPEN': 'reopened ticket',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'changed department of ticket',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'changed priority of ticket',
|
||||
'ACTIVITY_EDIT_COMMENT': 'edited a comment of ticket',
|
||||
'ACTIVITY_EDIT_TITLE': 'edited title of ticket',
|
||||
'ACTIVITY_EDIT_SETTINGS': 'edited settings',
|
||||
|
@ -438,7 +436,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'created this ticket',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'reopened this ticket',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'changed department of this ticket to ',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'changed priority of this ticket to',
|
||||
'DATE_PREFIX': 'on',
|
||||
'LEFT_EMPTY_DATABASE': 'Leave empty for automatic database creation',
|
||||
'DEFAULT_PORT': 'Leave empty for 3306 as default',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Opciones Avanzadas',
|
||||
'EMAIL_TEMPLATES': 'Plantillas de Correo Electrónico',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filtros y Campos Personalizados',
|
||||
'PRIORITY': 'Prioridad',
|
||||
'NUMBER': 'Número',
|
||||
'HIGH': 'Alta',
|
||||
'MEDIUM': 'Media',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'creó el ticket',
|
||||
'ACTIVITY_RE_OPEN': 'reabrió el ticket',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'cambió el departamento del ticket',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'cambió la prioridad del ticket',
|
||||
'ACTIVITY_EDIT_COMMENT': 'editó un comentario del ticket',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'editó las preferencias',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'creó este ticket',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'reabrió este ticket',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'cambió el departamento de este ticket a ',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'cambió la prioridad de este ticket a ',
|
||||
'DATE_PREFIX': 'el día',
|
||||
'LEFT_EMPTY_DATABASE': 'Dejar vacío para la creación automática de bases de datos',
|
||||
'REMEMBER_ME': 'Recordarme',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Réglages avancés',
|
||||
'EMAIL_TEMPLATES': 'Modèles de courrier électronique',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filtres et champs personnalisés',
|
||||
'PRIORITY': 'Priorité',
|
||||
'NUMBER': 'Nombre',
|
||||
'HIGH': 'Haute',
|
||||
'MEDIUM': 'Moyenne',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'ticket créé',
|
||||
'ACTIVITY_RE_OPEN': 'ticket réouvert',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'a changé de département le ticket',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'a changé la priorité du ticket',
|
||||
'ACTIVITY_EDIT_COMMENT': 'édité un commentaire du billet',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'a modifié les paramètres',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'a créé ce ticket',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'a réouvert ce ticket',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'a changé le département de ce ticket pour',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'a changé la priorité de ce ticket pour',
|
||||
'DATE_PREFIX': 'le',
|
||||
'LEFT_EMPTY_DATABASE': 'Laisser vide pour la création automatique de la base de données',
|
||||
'DEFAULT_PORT': 'Laisser vide pour 3306 par défaut',
|
||||
|
|
|
@ -61,7 +61,6 @@
|
|||
'ADVANCED_SETTINGS': 'Προηγμένες Ρυθμίσεις',
|
||||
'EMAIL_TEMPLATES': 'Πρότυπα Ηλεκτρονικού Ταχυδρομείου',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Φίλτρα και Προσαρμοσμένα Πεδία',
|
||||
'PRIORITY': 'Προτεραιότητα',
|
||||
'NUMBER': 'Αριθμός',
|
||||
'HIGH': 'Υψηλός',
|
||||
'MEDIUM': 'Μέτριος',
|
||||
|
@ -238,7 +237,6 @@
|
|||
'ACTIVITY_CREATE_TICKET': 'δημιουργημένο εισιτήριο',
|
||||
'ACTIVITY_RE_OPEN': 'ανοιγμένο ξανά εισιτήριο',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'αλλαγή τμήματος εισιτηρίου',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'αλλαγή προτεραιότητας εισιτηρίου',
|
||||
'ACTIVITY_EDIT_COMMENT': 'επεξεργαστεί ένα σχόλιο του εισιτηρίου',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'τροποποιημένες ρυθμίσεις',
|
||||
|
@ -439,7 +437,6 @@
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'δημιουργήθηκε αυτό το εισιτήριο',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'άνοιξε εκ νέου αυτό το εισιτήριο',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'άλλαξε το τμήμα αυτού του εισιτηρίου',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'αλλαγή της προτεραιότητας αυτού του εισιτηρίου',
|
||||
'DATE_PREFIX': 'ενεργό',
|
||||
'LEFT_EMPTY_DATABASE': 'Αφέθηκε κενό για αυτόματη δημιουργία βάσης δεδομένων',
|
||||
'DEFAULT_PORT': 'Αφήστε κενό για 3306 ως προεπιλογή',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'एडवांस सेटिंग',
|
||||
'EMAIL_TEMPLATES': 'ईमेल टेम्पलेट्स',
|
||||
'FILTERS_CUSTOM_FIELDS': 'फिल्टर और कस्टम फील्ड्स',
|
||||
'PRIORITY': 'प्राथमिकता',
|
||||
'NUMBER': 'संख्या',
|
||||
'HIGH': 'उच्च',
|
||||
'MEDIUM': 'मध्यम',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'बनाया टिकट',
|
||||
'ACTIVITY_RE_OPEN': 'फिर से खोल टिकट',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'टिकट के बदले विभाग',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'टिकट के बदले प्राथमिकता',
|
||||
'ACTIVITY_EDIT_COMMENT': 'टिकट की एक टिप्पणी संपादित',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'संपादित सेटिंग्स',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'यह टिकट बनाया',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'इस टिकट को फिर से खोल दिया',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'इस टिकट का विभाग बदल दिया गया',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'इस टिकट की प्राथमिकता को बदल दिया',
|
||||
'DATE_PREFIX': 'को',
|
||||
'LEFT_EMPTY_DATABASE': 'स्वचालित डेटाबेस निर्माण के लिए खाली छोड़ दिया',
|
||||
'REMEMBER_ME': 'मुझे याद रखना',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Impostazioni Avanzate',
|
||||
'EMAIL_TEMPLATES': 'Email Templates',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filtri e Campi Personalizzati',
|
||||
'PRIORITY': 'Priorità',
|
||||
'NUMBER': 'Numero',
|
||||
'HIGH': 'Alta',
|
||||
'MEDIUM': 'Media',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'Ticket creato',
|
||||
'ACTIVITY_RE_OPEN': 'Ticket riaperto',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'Cambio reparto al ticket',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'Priorità del ticket modificata',
|
||||
'ACTIVITY_EDIT_COMMENT': 'a cura di un commento del biglietto',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'impostazioni modificate',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'ha creato questo ticket',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'ha riaperto questo ticket',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'dipartimento del ticket cambiato in ',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'priorità del ticket modificata a ',
|
||||
'DATE_PREFIX': 'on',
|
||||
'LEFT_EMPTY_DATABASE': 'Left empty for automatic database creation',
|
||||
'REMEMBER_ME': 'Ricordami la password',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': '高度な設定',
|
||||
'EMAIL_TEMPLATES': 'メールテンプレート',
|
||||
'FILTERS_CUSTOM_FIELDS': 'フィルタとカスタムフィールド',
|
||||
'PRIORITY': '優先',
|
||||
'NUMBER': '数',
|
||||
'HIGH': '高い',
|
||||
'MEDIUM': 'ミディアム',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'これは、作成されました',
|
||||
'ACTIVITY_RE_OPEN': 'チケットがもう一度開かれた',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': '部署が変更されました',
|
||||
'ACTIVITY_PRIORITY_CHANGED': '私たちは、チケットの優先順位を変更する必要があります',
|
||||
'ACTIVITY_EDIT_COMMENT': 'チケットのコメントを編集しました',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': '編集した設定',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'がこのチケットを作成しました',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'がこのチケットを再開しました',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'はこのチケットの部門を ',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'がこのチケットの優先順位を',
|
||||
'DATE_PREFIX': 'に',
|
||||
'LEFT_EMPTY_DATABASE': '自動データベース作成のために空のままにする',
|
||||
'REMEMBER_ME': '覚えている',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Geavanceerde Instellingen',
|
||||
'EMAIL_TEMPLATES': 'E-mail Templates',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filters en Aangepaste Velden',
|
||||
'PRIORITY': 'Prioriteit',
|
||||
'NUMBER': 'Nummer',
|
||||
'HIGH': 'Hoog',
|
||||
'MEDIUM': 'Midden',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'heeft een incident aangemaakt',
|
||||
'ACTIVITY_RE_OPEN': 'heeft een incident heropend',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'heeft de afdeling van incident veranderd',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'heeft de prioriteit van incident veranderd',
|
||||
'ACTIVITY_EDIT_COMMENT': 'bewerkt een reactie van het biljet',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'Heeft instellingen aangepast',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'heeft dit incident aangemaakt',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'heeft dit incident heropend',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'Verander de afdeling van het incident naar ',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'Verander de prioriteit van het incident naar ',
|
||||
'DATE_PREFIX': 'Op',
|
||||
'LEFT_EMPTY_DATABASE': 'Laat leeg voor automatische database vulling',
|
||||
'DEFAULT_PORT': 'Laat leeg voor 3306 als standaard',
|
||||
|
|
|
@ -58,7 +58,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Ustawienia zaawansowane',
|
||||
'EMAIL_TEMPLATES': 'Szablony emaili',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filtry i pola własne',
|
||||
'PRIORITY': 'Priorytet',
|
||||
'NUMBER': 'Numer',
|
||||
'HIGH': 'Wysoki',
|
||||
'MEDIUM': 'Średni',
|
||||
|
@ -230,7 +229,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'utworzył zgłoszenie',
|
||||
'ACTIVITY_RE_OPEN': 'ponownie otworzył zgłoszenie',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'zmienił dział zgłoszenia',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'zmienił priorytet zgłoszenia',
|
||||
'ACTIVITY_EDIT_COMMENT': 'edytowany komentarz biletu',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'zmienił ustawienia',
|
||||
|
@ -420,7 +418,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'utworzył to zgłoszenie',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'otworzył ponownie to zgłoszenie',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'zmienił dział tego zgłoszenia ',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'zmienił priorytet tego zgłoszenia na',
|
||||
'DATE_PREFIX': 'w dniu',
|
||||
'LEFT_EMPTY_DATABASE': 'Pozostaw puste, by utworzyć bazę danych automatycznie',
|
||||
'DEFAULT_PORT': 'Pozostaw puste dla 3306 jako domyślny',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Configurações avançadas',
|
||||
'EMAIL_TEMPLATES': 'Modelos de e-mail',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filtros e campos personalizados',
|
||||
'PRIORITY': 'Prioridade',
|
||||
'NUMBER': 'Número',
|
||||
'HIGH': 'Alto',
|
||||
'MEDIUM': 'Médio',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'Bilhete criado',
|
||||
'ACTIVITY_RE_OPEN': 'Bilhete reaberto',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'Mudou departamento de bilhete',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'Prioridade alterada do bilhete',
|
||||
'ACTIVITY_EDIT_COMMENT': 'editado um comentário de bilhete',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'Configurações editadas',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'criado este bilhete',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'reaberto este bilhete',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'departamento alterado deste bilhete para',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'alterou a prioridade deste bilhete para',
|
||||
'DATE_PREFIX': 'em',
|
||||
'LEFT_EMPTY_DATABASE': 'Esquerda vazia para criação automática de banco de dados',
|
||||
'REMEMBER_ME': 'Lembrar',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Расширенные настройки',
|
||||
'EMAIL_TEMPLATES': 'Шаблоны электронных сообщений',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Фильтры и настраиваемых полей',
|
||||
'PRIORITY': 'приоритет',
|
||||
'NUMBER': 'Число',
|
||||
'HIGH': 'Высокая',
|
||||
'MEDIUM': 'средний',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'создал билет',
|
||||
'ACTIVITY_RE_OPEN': 'возобновлено билет на',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'Измененный отдел билета',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'Измененный приоритет билета',
|
||||
'ACTIVITY_EDIT_COMMENT': 'редактировал комментарий билета',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'отредактированные настройки',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'создал этот билет',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'снова открыт этот билет',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'изменен отдел этого билета на',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'изменил приоритет этого билета на',
|
||||
'DATE_PREFIX': '',
|
||||
'LEFT_EMPTY_DATABASE': 'Пусто для автоматического создания базы данных',
|
||||
'REMEMBER_ME': 'Запомнить',
|
||||
|
|
|
@ -61,7 +61,6 @@ export default {
|
|||
'ADVANCED_SETTINGS': 'Gelişmiş Ayarlar',
|
||||
'EMAIL_TEMPLATES': 'E-posta Şablonları',
|
||||
'FILTERS_CUSTOM_FIELDS': 'Filtreler ve Özel Alanlar',
|
||||
'PRIORITY': 'Öncelik',
|
||||
'NUMBER': 'Numara',
|
||||
'HIGH': 'Yüksek',
|
||||
'MEDIUM': 'Orta',
|
||||
|
@ -238,7 +237,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET': 'Bilet yarattı',
|
||||
'ACTIVITY_RE_OPEN': 'Yeniden açılan bilet',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED': 'Değiştirilen bilet dairesi',
|
||||
'ACTIVITY_PRIORITY_CHANGED': 'Biletin önceliği değiştirildi',
|
||||
'ACTIVITY_EDIT_COMMENT': 'Bilet bir yorum düzenlenmiş',
|
||||
|
||||
'ACTIVITY_EDIT_SETTINGS': 'Düzenlenmiş ayarlar',
|
||||
|
@ -439,7 +437,6 @@ export default {
|
|||
'ACTIVITY_CREATE_TICKET_THIS': 'bu bilet oluşturuldu',
|
||||
'ACTIVITY_RE_OPEN_THIS': 'bu bilet yeniden açıldı',
|
||||
'ACTIVITY_DEPARTMENT_CHANGED_THIS': 'bu biletin bölümünü değiştir',
|
||||
'ACTIVITY_PRIORITY_CHANGED_THIS': 'bu biletin önceliğini değiştirildi',
|
||||
'DATE_PREFIX': 'tarihinde',
|
||||
'LEFT_EMPTY_DATABASE': 'Otomatik veritabanı oluşturulması için boş bırakıldı',
|
||||
'REMEMBER_ME': 'Hatırlamak',
|
||||
|
|
|
@ -16,20 +16,6 @@ const CLOSED_DROPDOWN_INDEXES = {
|
|||
CLOSED: 2
|
||||
}
|
||||
|
||||
const TICKET_PRIORITIES = {
|
||||
ANY: undefined,
|
||||
LOW: [0],
|
||||
MEDIUM: [1],
|
||||
HIGH: [2]
|
||||
};
|
||||
|
||||
const PRIORITIES_DROPDOWN_INDEXES = {
|
||||
ANY: 0,
|
||||
LOW: 1,
|
||||
MEDIUM: 2,
|
||||
HIGH: 3
|
||||
};
|
||||
|
||||
export default {
|
||||
getAuthorsFromAPI(authors = '') {
|
||||
return API.call({
|
||||
|
@ -149,32 +135,11 @@ export default {
|
|||
|
||||
return closedDropdownIndex;
|
||||
},
|
||||
getPriorityDropdownIndex(_priority) {
|
||||
let priorityDorpDownIndex = PRIORITIES_DROPDOWN_INDEXES.ANY;
|
||||
|
||||
if(_priority !== undefined) {
|
||||
let priority = JSON.parse(_priority)[0];
|
||||
switch(priority) {
|
||||
case TICKET_PRIORITIES.LOW[0]:
|
||||
priorityDorpDownIndex = PRIORITIES_DROPDOWN_INDEXES.LOW;
|
||||
break;
|
||||
case TICKET_PRIORITIES.MEDIUM[0]:
|
||||
priorityDorpDownIndex = PRIORITIES_DROPDOWN_INDEXES.MEDIUM;
|
||||
break;
|
||||
case TICKET_PRIORITIES.HIGH[0]:
|
||||
priorityDorpDownIndex = PRIORITIES_DROPDOWN_INDEXES.HIGH;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return priorityDorpDownIndex;
|
||||
},
|
||||
transformToFormValue(filters) {
|
||||
return {
|
||||
...filters,
|
||||
query: filters.query ? filters.query : '',
|
||||
closed: this.getClosedDropdowIndex(filters.closed*1),
|
||||
priority: this.getPriorityDropdownIndex(filters.priority),
|
||||
departments: JSON.parse(filters.departments),
|
||||
owners: JSON.parse(filters.owners),
|
||||
tags: JSON.parse(filters.tags),
|
||||
|
@ -182,23 +147,6 @@ export default {
|
|||
authors: filters.authors ? JSON.parse(filters.authors) : [],
|
||||
};
|
||||
},
|
||||
getTicketPrioritiesByDropdownIndex(dropdownIndex) {
|
||||
let priorities = TICKET_PRIORITIES.ANY;
|
||||
|
||||
switch(dropdownIndex) {
|
||||
case PRIORITIES_DROPDOWN_INDEXES.LOW:
|
||||
priorities = TICKET_PRIORITIES.LOW;
|
||||
break;
|
||||
case PRIORITIES_DROPDOWN_INDEXES.MEDIUM:
|
||||
priorities = TICKET_PRIORITIES.MEDIUM;
|
||||
break;
|
||||
case PRIORITIES_DROPDOWN_INDEXES.HIGH:
|
||||
priorities = TICKET_PRIORITIES.HIGH;
|
||||
break;
|
||||
}
|
||||
|
||||
return priorities !== undefined ? JSON.stringify(priorities) : priorities;
|
||||
},
|
||||
getTicketStatusByDropdownIndex(dropdownIndex) {
|
||||
let status;
|
||||
|
||||
|
@ -224,7 +172,6 @@ export default {
|
|||
...form,
|
||||
query: form.query !== '' ? form.query : undefined,
|
||||
closed: this.getTicketStatusByDropdownIndex(form.closed),
|
||||
priority: this.getTicketPrioritiesByDropdownIndex(form.priority),
|
||||
departments: form.departments !== undefined ? JSON.stringify(form.departments) : '[]',
|
||||
owners: JSON.stringify(form.owners),
|
||||
tags: JSON.stringify(form.tags),
|
||||
|
|
|
@ -11,7 +11,6 @@ const DEFAULT_START_DATE = 20170101;
|
|||
const DEFAULT_FILTERS = {
|
||||
query: undefined,
|
||||
closed: undefined,
|
||||
priority: undefined,
|
||||
departments: '[]',
|
||||
owners: '[]',
|
||||
tags: '[]',
|
||||
|
@ -30,7 +29,6 @@ class searchFiltersReducer extends Reducer {
|
|||
form: {
|
||||
query: '',
|
||||
closed: 0,
|
||||
priority: 0,
|
||||
departments: [],
|
||||
owners: [],
|
||||
tags: [],
|
||||
|
|
|
@ -15,7 +15,6 @@ $ticketControllers->addController(new GetCustomResponsesController);
|
|||
$ticketControllers->addController(new ChangeDepartmentController);
|
||||
$ticketControllers->addController(new CloseController);
|
||||
$ticketControllers->addController(new ReOpenController);
|
||||
$ticketControllers->addController(new ChangePriorityController);
|
||||
$ticketControllers->addController(new SeenController);
|
||||
$ticketControllers->addController(new DeleteController);
|
||||
$ticketControllers->addController(new CreateTagController);
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
<?php
|
||||
use Respect\Validation\Validator as DataValidator;
|
||||
|
||||
/**
|
||||
* @api {post} /ticket/change-priority Change priority
|
||||
* @apiVersion 4.7.0
|
||||
*
|
||||
* @apiName Change priority
|
||||
*
|
||||
* @apiGroup Ticket
|
||||
*
|
||||
* @apiDescription This path changes the priority of a ticket.
|
||||
*
|
||||
* @apiPermission staff1
|
||||
*
|
||||
* @apiParam {Number} ticketNumber The number of a ticket.
|
||||
* @apiParam {String} priority The new priority of the ticket.
|
||||
*
|
||||
* @apiUse NO_PERMISSION
|
||||
* @apiUse INVALID_TICKET
|
||||
* @apiUse INVALID_PRIORITY
|
||||
*
|
||||
* @apiSuccess {Object} data Empty object
|
||||
*
|
||||
*/
|
||||
|
||||
class ChangePriorityController extends Controller {
|
||||
const PATH = '/change-priority';
|
||||
const METHOD = 'POST';
|
||||
|
||||
public function validations() {
|
||||
return [
|
||||
'permission' => 'staff_1',
|
||||
'requestData' => [
|
||||
'ticketNumber' => [
|
||||
'validation' => DataValidator::validTicketNumber(),
|
||||
'error' => ERRORS::INVALID_TICKET
|
||||
],
|
||||
'priority' => [
|
||||
'validation' => DataValidator::in(['low', 'medium', 'high']),
|
||||
'error' => ERRORS::INVALID_PRIORITY
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public function handler() {
|
||||
$ticketNumber = Controller::request('ticketNumber');
|
||||
$priority = Controller::request('priority');
|
||||
$ticket = Ticket::getByTicketNumber($ticketNumber);
|
||||
$user = Controller::getLoggedUser();
|
||||
|
||||
if(!$user->canManageTicket($ticket)) throw new RequestException(ERRORS::NO_PERMISSION);
|
||||
|
||||
$ticket->priority = $priority;
|
||||
$ticket->unread = !$ticket->isAuthor($user);
|
||||
$event = Ticketevent::getEvent(Ticketevent::PRIORITY_CHANGED);
|
||||
$event->setProperties(array(
|
||||
'authorStaff' => Controller::getLoggedUser(),
|
||||
'content' => $ticket->priority,
|
||||
'date' => Date::getCurrentDate()
|
||||
));
|
||||
$ticket->addEvent($event);
|
||||
$ticket->store();
|
||||
|
||||
Log::createLog('PRIORITY_CHANGED', $ticket->ticketNumber);
|
||||
Response::respondSuccess();
|
||||
}
|
||||
}
|
|
@ -19,7 +19,6 @@ DataValidator::with('CustomValidations', true);
|
|||
* @apiParam {Number[]} tags The ids of the tags to make a custom search.
|
||||
* @apiParam {Number} closed The status of closed 1 or 0 to make a custom search.
|
||||
* @apiParam {Number} unreadStaff The status of unread_staff 1 or 0 to make a custom search.
|
||||
* @apiParam {Number[]} priority The values of priority to make a custom search.
|
||||
* @apiParam {Number[]} dateRange The numbers of the range of date to make a custom search.
|
||||
* @apiParam {Number[]} departments The ids of the departments to make a custom search.
|
||||
* @apiParam {Object[]} authors A object {id,staff} with id and boolean to make a custom search.
|
||||
|
@ -33,7 +32,6 @@ DataValidator::with('CustomValidations', true);
|
|||
* @apiUse INVALID_TAG_FILTER
|
||||
* @apiUse INVALID_CLOSED_FILTER
|
||||
* @apiUse INVALID_UNREAD_STAFF_FILTER
|
||||
* @apiUse INVALID_PRIORITY_FILTER
|
||||
* @apiUse INVALID_DATE_RANGE_FILTER
|
||||
* @apiUse INVALID_DEPARTMENT_FILTER
|
||||
* @apiUse INVALID_AUTHOR_FILTER
|
||||
|
@ -71,10 +69,6 @@ class SearchController extends Controller {
|
|||
'validation' => DataValidator::oneOf(DataValidator::in(['0','1']),DataValidator::nullType()),
|
||||
'error' => ERRORS::INVALID_UNREAD_STAFF_FILTER
|
||||
],
|
||||
'priority' => [
|
||||
'validation' => DataValidator::oneOf(DataValidator::validPriorities(),DataValidator::nullType()),
|
||||
'error' => ERRORS::INVALID_PRIORITY_FILTER
|
||||
],
|
||||
'dateRange' => [
|
||||
'validation' => DataValidator::oneOf(DataValidator::validDateRange(),DataValidator::nullType()),
|
||||
'error' => ERRORS::INVALID_DATE_RANGE_FILTER
|
||||
|
@ -118,7 +112,6 @@ class SearchController extends Controller {
|
|||
'closed' => Controller::request('closed'),
|
||||
'tags' => json_decode(Controller::request('tags')),
|
||||
'unreadStaff' => Controller::request('unreadStaff'),
|
||||
'priority' => json_decode(Controller::request('priority')),
|
||||
'dateRange' => json_decode(Controller::request('dateRange')),
|
||||
'departments' => json_decode(Controller::request('departments')),
|
||||
'authors' => json_decode(Controller::request('authors'),true),
|
||||
|
@ -185,7 +178,6 @@ class SearchController extends Controller {
|
|||
if(array_key_exists('closed',$inputs)) $this->setClosedFilter($inputs['closed'], $filters);
|
||||
if(array_key_exists('assigned',$inputs)) $this->setAssignedFilter($inputs['assigned'], $filters);
|
||||
if(array_key_exists('unreadStaff',$inputs)) $this->setSeenFilter($inputs['unreadStaff'], $filters);
|
||||
if(array_key_exists('priority',$inputs)) $this->setPriorityFilter($inputs['priority'], $filters);
|
||||
if(array_key_exists('dateRange',$inputs)) $this->setDateFilter($inputs['dateRange'], $filters);
|
||||
if(array_key_exists('departments',$inputs) && array_key_exists('allowedDepartments',$inputs) && array_key_exists('staffId',$inputs)){
|
||||
$this->setDepartmentFilter($inputs['departments'],$inputs['allowedDepartments'], $inputs['staffId'], $filters);
|
||||
|
@ -224,33 +216,6 @@ class SearchController extends Controller {
|
|||
$filters .= "ticket.unread_staff = " . $unreadStaff;
|
||||
}
|
||||
}
|
||||
private function setPriorityFilter($priorities, &$filters){
|
||||
if($priorities){
|
||||
$first = TRUE;
|
||||
if ($filters != "") $filters .= " and ";
|
||||
foreach(array_unique($priorities) as $priority) {
|
||||
|
||||
if($first){
|
||||
$filters .= " ( ";
|
||||
$first = FALSE;
|
||||
} else {
|
||||
$filters .= " or ";
|
||||
}
|
||||
|
||||
if($priority == 0){
|
||||
$filters .= "ticket.priority = 'low'";
|
||||
}elseif($priority == 1){
|
||||
$filters .= "ticket.priority = 'medium'";
|
||||
}elseif($priority == 2){
|
||||
$filters .= "ticket.priority = 'high'";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
$priorities != "" ? $filters .= ") " : null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function setDateFilter($dateRange, &$filters){
|
||||
if ($dateRange !== null) {
|
||||
|
@ -397,7 +362,7 @@ class SearchController extends Controller {
|
|||
$order = " ORDER BY ";
|
||||
if(array_key_exists('query',$inputs)) $this->setStringOrder($inputs['query'], $order);
|
||||
if(array_key_exists('orderBy',$inputs)) $this->setEspecificOrder($inputs['orderBy'], $order);
|
||||
$order .= "ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.priority desc, ticket.date desc, ticket.id desc";
|
||||
$order .= "ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.date desc, ticket.id desc";
|
||||
}
|
||||
private function setEspecificOrder($orderBy, &$order){
|
||||
if($orderBy !== null){
|
||||
|
|
|
@ -83,10 +83,6 @@
|
|||
* @apiDefine TICKET_ALREADY_ASSIGNED
|
||||
* @apiError {String} TICKET_ALREADY_ASSIGNED The ticket is already assigned.
|
||||
*/
|
||||
/**
|
||||
* @apiDefine INVALID_PRIORITY
|
||||
* @apiError {String} INVALID_PRIORITY The priority is invalid.
|
||||
*/
|
||||
/**
|
||||
* @apiDefine INVALID_PAGE
|
||||
* @apiError {String} INVALID_PAGE The page is invalid.
|
||||
|
@ -115,10 +111,6 @@
|
|||
* @apiDefine INVALID_UNREAD_STAFF_FILTER
|
||||
* @apiError {String} INVALID_UNREAD_STAFF_FILTER The unread-staff filter is invalid.
|
||||
*/
|
||||
/**
|
||||
* @apiDefine INVALID_PRIORITY_FILTER
|
||||
* @apiError {String} INVALID_PRIORITY_FILTER The priority filter is invalid.
|
||||
*/
|
||||
/**
|
||||
* @apiDefine INVALID_DATE_RANGE_FILTER
|
||||
* @apiError {String} INVALID_DATE_RANGE_FILTER The date-range filter is invalid.
|
||||
|
@ -347,7 +339,6 @@ class ERRORS {
|
|||
const INVALID_LANGUAGE = 'INVALID_LANGUAGE';
|
||||
const INVALID_SUPPORTED_LANGUAGES = 'INVALID_SUPPORTED_LANGUAGES';
|
||||
const TICKET_ALREADY_ASSIGNED = 'TICKET_ALREADY_ASSIGNED';
|
||||
const INVALID_PRIORITY = 'INVALID_PRIORITY';
|
||||
const INVALID_PAGE = 'INVALID_PAGE';
|
||||
const INVALID_QUERY = 'INVALID_QUERY';
|
||||
const INVALID_LIST = 'INVALID_LIST';
|
||||
|
@ -355,7 +346,6 @@ class ERRORS {
|
|||
const INVALID_TAG_FILTER = 'INVALID_TAG_FILTER';
|
||||
const INVALID_CLOSED_FILTER = 'INVALID_CLOSED_FILTER';
|
||||
const INVALID_UNREAD_STAFF_FILTER = 'INVALID_UNREAD_STAFF_FILTER';
|
||||
const INVALID_PRIORITY_FILTER = 'INVALID_PRIORITY_FILTER';
|
||||
const INVALID_DATE_RANGE_FILTER = 'INVALID_DATE_RANGE_FILTER';
|
||||
const INVALID_DEPARTMENT_FILTER = 'INVALID_DEPARTMENT_FILTER';
|
||||
const INVALID_AUTHOR_FILTER = 'INVALID_AUTHOR_FILTER';
|
||||
|
|
|
@ -349,7 +349,6 @@ CREATE TABLE IF NOT EXISTS `ticket` (
|
|||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`ticket_number` int(11) unsigned DEFAULT NULL,
|
||||
`unread` tinyint(1) unsigned DEFAULT NULL,
|
||||
`priority` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`unread_staff` tinyint(1) unsigned DEFAULT NULL,
|
||||
`title` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`content` text COLLATE utf8mb4_unicode_ci,
|
||||
|
|
|
@ -7,7 +7,7 @@ use Respect\Validation\Rules\AbstractRule;
|
|||
class ValidOrderBy extends AbstractRule {
|
||||
public function validate($orderBy) {
|
||||
if(is_object(json_decode($orderBy))){
|
||||
$values =["closed","owner_id","unread_staff","priority","date"];
|
||||
$values =["closed","owner_id","unread_staff","date"];
|
||||
|
||||
$object = json_decode($orderBy);
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace CustomValidations;
|
||||
|
||||
use Respect\Validation\Rules\AbstractRule;
|
||||
|
||||
class ValidPriorities extends AbstractRule {
|
||||
public function validate($priorities) {
|
||||
$PriorityList = json_decode($priorities);
|
||||
|
||||
if(is_array($PriorityList)){
|
||||
foreach (array_unique($PriorityList) as $priorityId) {
|
||||
if($priorityId != 0 && $priorityId != 1 && $priorityId != 2) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -14,7 +14,6 @@
|
|||
* @apiParam {Boolean} unread Indicates if the user has already read the last comment.
|
||||
* @apiParam {Boolean} unreadStaff Indicates if the staff has already read the last comment.
|
||||
* @apiParam {Boolean} closed Indicates if the ticket is closed.
|
||||
* @apiParam {String} priority The priority of the ticket. It can be LOW, MEDIUM or HIGH.
|
||||
* @apiParam {Object} author The author of the ticket.
|
||||
* @apiParam {Number} author.id The id of the author of the ticket.
|
||||
* @apiParam {String} author.name The author's name of the ticket.
|
||||
|
@ -41,7 +40,6 @@ class Ticket extends DataStore {
|
|||
'date',
|
||||
'unread',
|
||||
'closed',
|
||||
'priority',
|
||||
'author',
|
||||
'authorStaff',
|
||||
'owner',
|
||||
|
@ -90,7 +88,6 @@ class Ticket extends DataStore {
|
|||
|
||||
public function getDefaultProps() {
|
||||
return array(
|
||||
'priority' => 'low',
|
||||
'unread' => false,
|
||||
'unreadStaff' => true,
|
||||
'ticketNumber' => $this->generateUniqueTicketNumber()
|
||||
|
@ -136,7 +133,6 @@ class Ticket extends DataStore {
|
|||
'unread' => !!$this->unread,
|
||||
'unreadStaff' => !!$this->unreadStaff,
|
||||
'closed' => !!$this->closed,
|
||||
'priority' => $this->priority,
|
||||
'author' => $this->authorToArray(),
|
||||
'owner' => $this->ownerToArray(),
|
||||
'events' => $minimized ? [] : $this->eventsToArray(),
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
* @api {OBJECT} TicketEvent TicketEvent
|
||||
* @apiVersion 4.7.0
|
||||
* @apiGroup Data Structures
|
||||
* @apiParam {String} type The type of the ticket event. It can be COMMENT, ASSIGN, UN_ASSIGN, CLOSE, RE_OPEN, DEPARTMENT_CHANGED or PRIORITY_CHANGED
|
||||
* @apiParam {String} content The content of the ticket event.
|
||||
* @apiParam {Object} author The author of the ticket event.
|
||||
* @apiParam {Number} author.id The author's id of the ticket event.
|
||||
|
@ -25,7 +24,6 @@ class Ticketevent extends DataStore {
|
|||
const CLOSE = 'CLOSE';
|
||||
const RE_OPEN = 'RE_OPEN';
|
||||
const DEPARTMENT_CHANGED = 'DEPARTMENT_CHANGED';
|
||||
const PRIORITY_CHANGED = 'PRIORITY_CHANGED';
|
||||
|
||||
private static function getEventTypes() {
|
||||
return [
|
||||
|
@ -35,7 +33,6 @@ class Ticketevent extends DataStore {
|
|||
'CLOSE',
|
||||
'RE_OPEN',
|
||||
'DEPARTMENT_CHANGED',
|
||||
'PRIORITY_CHANGED'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -122,37 +122,6 @@ class SearchControllerTest extends TestCase {
|
|||
);
|
||||
}
|
||||
|
||||
public function testPriorityFilter() {
|
||||
|
||||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
'tags' => []
|
||||
]),
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) GROUP BY ticket.id'
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
'tags' => [1]
|
||||
]),
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( tag_ticket.tag_id = 1) GROUP BY ticket.id'
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
'tags' => [2,3]
|
||||
]),
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( tag_ticket.tag_id = 2 or tag_ticket.tag_id = 3) GROUP BY ticket.id'
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
'tags' => [1,2,3]
|
||||
]),
|
||||
'FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE ( tag_ticket.tag_id = 1 or tag_ticket.tag_id = 2 or tag_ticket.tag_id = 3) GROUP BY ticket.id'
|
||||
);
|
||||
}
|
||||
|
||||
public function testdateRangeFilter() {
|
||||
$this->assertEquals(
|
||||
$this->searchController->getSQLQuery([
|
||||
|
@ -275,7 +244,7 @@ class SearchControllerTest extends TestCase {
|
|||
$this->searchController->getSQLQueryWithOrder([
|
||||
'page' => 1
|
||||
]),
|
||||
"SELECT ticket.id FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) GROUP BY ticket.id ORDER BY ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.priority desc, ticket.date desc, ticket.id desc LIMIT 10 OFFSET 0"
|
||||
"SELECT ticket.id FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) GROUP BY ticket.id ORDER BY ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.date desc, ticket.id desc LIMIT 10 OFFSET 0"
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
|
@ -283,7 +252,7 @@ class SearchControllerTest extends TestCase {
|
|||
'page' => 1,
|
||||
'query' => 'stark'
|
||||
]),
|
||||
"SELECT ticket.id FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE (ticket.title LIKE :query or ticket.content LIKE :query or ticket.ticket_number LIKE :query or (ticketevent.type = 'COMMENT' and ticketevent.content LIKE :query) ) GROUP BY ticket.id ORDER BY CASE WHEN (ticket.ticket_number LIKE :query) THEN 1 WHEN (ticket.title LIKE :queryAtBeginning) THEN 2 WHEN (ticket.title LIKE :query) THEN 3 WHEN ( ticket.content LIKE :query) THEN 4 WHEN (ticketevent.content LIKE :query) THEN 5 END asc, ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.priority desc, ticket.date desc, ticket.id desc LIMIT 10 OFFSET 0"
|
||||
"SELECT ticket.id FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) WHERE (ticket.title LIKE :query or ticket.content LIKE :query or ticket.ticket_number LIKE :query or (ticketevent.type = 'COMMENT' and ticketevent.content LIKE :query) ) GROUP BY ticket.id ORDER BY CASE WHEN (ticket.ticket_number LIKE :query) THEN 1 WHEN (ticket.title LIKE :queryAtBeginning) THEN 2 WHEN (ticket.title LIKE :query) THEN 3 WHEN ( ticket.content LIKE :query) THEN 4 WHEN (ticketevent.content LIKE :query) THEN 5 END asc, ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.date desc, ticket.id desc LIMIT 10 OFFSET 0"
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
|
@ -291,7 +260,7 @@ class SearchControllerTest extends TestCase {
|
|||
'page' => 1,
|
||||
'orderBy' => ['value' => 'closed', 'asc' => 1]
|
||||
]),
|
||||
"SELECT ticket.id FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) GROUP BY ticket.id ORDER BY ticket.closed asc,ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.priority desc, ticket.date desc, ticket.id desc LIMIT 10 OFFSET 0"
|
||||
"SELECT ticket.id FROM (ticket LEFT JOIN tag_ticket ON tag_ticket.ticket_id = ticket.id LEFT JOIN ticketevent ON ticketevent.ticket_id = ticket.id) GROUP BY ticket.id ORDER BY ticket.closed asc,ticket.closed asc, ticket.owner_id asc, ticket.unread_staff asc, ticket.date desc, ticket.id desc LIMIT 10 OFFSET 0"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -41,7 +41,6 @@ require './staff/delete.rb'
|
|||
require './staff/assign-ticket.rb'
|
||||
require './staff/un-assign-ticket.rb'
|
||||
require './staff/get-tickets.rb'
|
||||
require './ticket/change-priority.rb'
|
||||
require './staff/get-new-tickets.rb'
|
||||
require './staff/get-all-tickets.rb'
|
||||
require './ticket/events.rb'
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
describe '/ticket/change-priority' do
|
||||
request('/user/logout')
|
||||
Scripts.login($staff[:email], $staff[:password], true)
|
||||
|
||||
#TODO: things that Ivan don't forget
|
||||
|
||||
it 'should change priority to high if everything is okey' do
|
||||
ticket = $database.getRow('ticket', 1 , 'id')
|
||||
|
||||
result = request('/ticket/change-priority', {
|
||||
priority:'high',
|
||||
ticketNumber: ticket['ticket_number'],
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token
|
||||
})
|
||||
|
||||
(result['status']).should.equal('success')
|
||||
|
||||
ticket = $database.getRow('ticket', 1 , 'id')
|
||||
(ticket['priority']).should.equal('high')
|
||||
(ticket['unread']).should.equal(1)
|
||||
|
||||
lastLog = $database.getLastRow('log')
|
||||
(lastLog['type']).should.equal('PRIORITY_CHANGED')
|
||||
end
|
||||
|
||||
it 'should change priority to medium if everything is okey' do
|
||||
ticket = $database.getRow('ticket', 1 , 'id')
|
||||
|
||||
result = request('/ticket/change-priority', {
|
||||
priority:'medium',
|
||||
ticketNumber: ticket['ticket_number'],
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token
|
||||
})
|
||||
|
||||
(result['status']).should.equal('success')
|
||||
|
||||
ticket = $database.getRow('ticket', 1 , 'id')
|
||||
(ticket['priority']).should.equal('medium')
|
||||
(ticket['unread']).should.equal(1)
|
||||
|
||||
lastLog = $database.getLastRow('log')
|
||||
(lastLog['type']).should.equal('PRIORITY_CHANGED')
|
||||
end
|
||||
|
||||
it 'should change priority to low if everything is okey' do
|
||||
ticket = $database.getRow('ticket', 1 , 'id')
|
||||
|
||||
result = request('/ticket/change-priority', {
|
||||
priority:'low',
|
||||
ticketNumber: ticket['ticket_number'],
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token
|
||||
})
|
||||
|
||||
(result['status']).should.equal('success')
|
||||
|
||||
ticket = $database.getRow('ticket', 1 , 'id')
|
||||
(ticket['priority']).should.equal('low')
|
||||
(ticket['unread']).should.equal(1)
|
||||
|
||||
lastLog = $database.getLastRow('log')
|
||||
(lastLog['type']).should.equal('PRIORITY_CHANGED')
|
||||
end
|
||||
|
||||
end
|
|
@ -127,7 +127,6 @@ describe '/ticket/create' do
|
|||
(ticket['content']).should.equal('The north remembers')
|
||||
(ticket['unread']).should.equal(0)
|
||||
(ticket['closed']).should.equal(0)
|
||||
(ticket['priority']).should.equal('low')
|
||||
(ticket['department_id']).should.equal(1)
|
||||
(ticket['author_id']).should.equal($csrf_userid.to_i)
|
||||
((Math.log10(ticket['ticket_number'].to_i)).ceil).should.equal(6)
|
||||
|
|
|
@ -37,12 +37,6 @@ describe 'Ticket Events' do
|
|||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token
|
||||
})
|
||||
request('/ticket/change-priority', {
|
||||
priority: 'medium',
|
||||
ticketNumber: ticketNumber,
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token
|
||||
})
|
||||
request('/ticket/change-department', {
|
||||
departmentId: 3,
|
||||
ticketNumber: ticketNumber,
|
||||
|
@ -92,27 +86,22 @@ describe 'Ticket Events' do
|
|||
(result['data']['events'][3]['author']['name']).should.equal('Emilia Clarke')
|
||||
(result['data']['events'][3]['author']['staff']).should.equal(true)
|
||||
|
||||
(result['data']['events'][4]['type']).should.equal('PRIORITY_CHANGED')
|
||||
(result['data']['events'][4]['content']).should.equal('medium')
|
||||
(result['data']['events'][4]['type']).should.equal('DEPARTMENT_CHANGED')
|
||||
(result['data']['events'][4]['content']).should.equal('Suggestions')
|
||||
(result['data']['events'][4]['author']['name']).should.equal('Emilia Clarke')
|
||||
(result['data']['events'][4]['author']['staff']).should.equal(true)
|
||||
|
||||
(result['data']['events'][5]['type']).should.equal('DEPARTMENT_CHANGED')
|
||||
(result['data']['events'][5]['content']).should.equal('Suggestions')
|
||||
(result['data']['events'][5]['type']).should.equal('CLOSE')
|
||||
(result['data']['events'][5]['author']['name']).should.equal('Emilia Clarke')
|
||||
(result['data']['events'][5]['author']['staff']).should.equal(true)
|
||||
|
||||
(result['data']['events'][6]['type']).should.equal('CLOSE')
|
||||
(result['data']['events'][6]['author']['name']).should.equal('Emilia Clarke')
|
||||
(result['data']['events'][6]['author']['staff']).should.equal(true)
|
||||
(result['data']['events'][6]['type']).should.equal('RE_OPEN')
|
||||
(result['data']['events'][6]['author']['name']).should.equal('Tyrion Lannister')
|
||||
(result['data']['events'][6]['author']['staff']).should.equal(false)
|
||||
|
||||
(result['data']['events'][7]['type']).should.equal('RE_OPEN')
|
||||
(result['data']['events'][7]['type']).should.equal('COMMENT')
|
||||
(result['data']['events'][7]['content']).should.equal('This is a comment made by a regular user')
|
||||
(result['data']['events'][7]['author']['name']).should.equal('Tyrion Lannister')
|
||||
(result['data']['events'][7]['author']['staff']).should.equal(false)
|
||||
|
||||
(result['data']['events'][8]['type']).should.equal('COMMENT')
|
||||
(result['data']['events'][8]['content']).should.equal('This is a comment made by a regular user')
|
||||
(result['data']['events'][8]['author']['name']).should.equal('Tyrion Lannister')
|
||||
(result['data']['events'][8]['author']['staff']).should.equal(false)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -46,28 +46,6 @@ describe '/ticket/search' do
|
|||
(result['message']).should.equal('INVALID_UNREAD_STAFF_FILTER')
|
||||
end
|
||||
|
||||
it 'should fail if the priority values are invalid' do
|
||||
result = request('/ticket/search', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
page: 1,
|
||||
priority: "[0,1,5,6]"
|
||||
})
|
||||
(result['status']).should.equal('fail')
|
||||
(result['message']).should.equal('INVALID_PRIORITY_FILTER')
|
||||
end
|
||||
|
||||
it 'should fail if the priority' do
|
||||
result = request('/ticket/search', {
|
||||
csrf_userid: $csrf_userid,
|
||||
csrf_token: $csrf_token,
|
||||
page: 1,
|
||||
priority: "[0,1,),hi]"
|
||||
})
|
||||
(result['status']).should.equal('fail')
|
||||
(result['message']).should.equal('INVALID_PRIORITY_FILTER')
|
||||
end
|
||||
|
||||
it 'should fail if the dateRange values are invalid' do
|
||||
result = request('/ticket/search', {
|
||||
csrf_userid: $csrf_userid,
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
* @apiParam {Boolean} unread Indicates if the user has already read the last comment.
|
||||
* @apiParam {Boolean} unreadStaff Indicates if the staff has already read the last comment.
|
||||
* @apiParam {Boolean} closed Indicates if the ticket is closed.
|
||||
* @apiParam {String} priority The priority of the ticket. It can be LOW, MEDIUM or HIGH.
|
||||
* @apiParam {Object} author The author of the ticket.
|
||||
* @apiParam {Number} author.id The id of the author of the ticket.
|
||||
* @apiParam {String} author.name The author's name of the ticket.
|
||||
|
@ -41,7 +40,6 @@ class Ticket extends DataStore {
|
|||
'date',
|
||||
'unread',
|
||||
'closed',
|
||||
'priority',
|
||||
'author',
|
||||
'authorStaff',
|
||||
'owner',
|
||||
|
@ -90,7 +88,6 @@ class Ticket extends DataStore {
|
|||
|
||||
public function getDefaultProps() {
|
||||
return array(
|
||||
'priority' => 'low',
|
||||
'unread' => false,
|
||||
'unreadStaff' => true,
|
||||
'ticketNumber' => $this->generateUniqueTicketNumber()
|
||||
|
@ -136,7 +133,6 @@ class Ticket extends DataStore {
|
|||
'unread' => !!$this->unread,
|
||||
'unreadStaff' => !!$this->unreadStaff,
|
||||
'closed' => !!$this->closed,
|
||||
'priority' => $this->priority,
|
||||
'author' => $this->authorToArray(),
|
||||
'owner' => $this->ownerToArray(),
|
||||
'events' => $minimized ? [] : $this->eventsToArray(),
|
||||
|
|
Loading…
Reference in New Issue