mirror of
https://github.com/opensupports/opensupports.git
synced 2025-07-30 09:15:02 +02:00
Add fronted email configuration
This commit is contained in:
parent
429796aee8
commit
c7f489d988
42
client/src/app-components/popup-message.js
Normal file
42
client/src/app-components/popup-message.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
import React from 'react';
|
||||||
|
|
||||||
|
import i18n from 'lib-app/i18n';
|
||||||
|
import ModalContainer from 'app-components/modal-container';
|
||||||
|
|
||||||
|
import Button from 'core-components/button';
|
||||||
|
import Icon from 'core-components/icon';
|
||||||
|
import Message from 'core-components/message';
|
||||||
|
|
||||||
|
|
||||||
|
class PopupMessage extends React.Component {
|
||||||
|
static propTypes = Message.propTypes;
|
||||||
|
|
||||||
|
static contextTypes = {
|
||||||
|
closeModal: React.PropTypes.func
|
||||||
|
};
|
||||||
|
|
||||||
|
static open(props) {
|
||||||
|
ModalContainer.openModal(
|
||||||
|
<PopupMessage {...props}/>,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
// this.refs.closeButton && this.refs.closeButton.focus();
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<Message {...this.props} className="popup-message"/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
closeModal() {
|
||||||
|
if (this.context.closeModal) {
|
||||||
|
this.context.closeModal();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default PopupMessage;
|
3
client/src/app-components/popup-message.scss
Normal file
3
client/src/app-components/popup-message.scss
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
.popup-message {
|
||||||
|
width: 400px;
|
||||||
|
}
|
@ -49,7 +49,7 @@ import AdminPanelViewStaff from 'app/admin/panel/staff/admin-panel-view-staff';
|
|||||||
|
|
||||||
import AdminPanelSystemPreferences from 'app/admin/panel/settings/admin-panel-system-preferences';
|
import AdminPanelSystemPreferences from 'app/admin/panel/settings/admin-panel-system-preferences';
|
||||||
import AdminPanelAdvancedSettings from 'app/admin/panel/settings/admin-panel-advanced-settings';
|
import AdminPanelAdvancedSettings from 'app/admin/panel/settings/admin-panel-advanced-settings';
|
||||||
import AdminPanelEmailTemplates from 'app/admin/panel/settings/admin-panel-email-templates';
|
import AdminPanelEmailSettings from 'app/admin/panel/settings/admin-panel-email-settings';
|
||||||
|
|
||||||
// INSTALLATION
|
// INSTALLATION
|
||||||
import InstallLayout from 'app/install/install-layout';
|
import InstallLayout from 'app/install/install-layout';
|
||||||
@ -139,7 +139,7 @@ export default (
|
|||||||
<IndexRedirect to="system-preferences" />
|
<IndexRedirect to="system-preferences" />
|
||||||
<Route path="system-preferences" component={AdminPanelSystemPreferences} />
|
<Route path="system-preferences" component={AdminPanelSystemPreferences} />
|
||||||
<Route path="advanced-settings" component={AdminPanelAdvancedSettings} />
|
<Route path="advanced-settings" component={AdminPanelAdvancedSettings} />
|
||||||
<Route path="email-templates" component={AdminPanelEmailTemplates} />
|
<Route path="email-settings" component={AdminPanelEmailSettings} />
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
|
@ -206,8 +206,8 @@ class AdminPanelMenu extends React.Component {
|
|||||||
level: 3
|
level: 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: i18n('EMAIL_TEMPLATES'),
|
name: i18n('EMAIL_SETTINGS'),
|
||||||
path: '/admin/panel/settings/email-templates',
|
path: '/admin/panel/settings/email-settings',
|
||||||
level: 3
|
level: 3
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
@ -0,0 +1,475 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import _ from 'lodash';
|
||||||
|
import {connect} from 'react-redux';
|
||||||
|
|
||||||
|
import i18n from 'lib-app/i18n';
|
||||||
|
import API from 'lib-app/api-call';
|
||||||
|
|
||||||
|
import AreYouSure from 'app-components/are-you-sure';
|
||||||
|
import LanguageSelector from 'app-components/language-selector';
|
||||||
|
import PopupMessage from 'app-components/popup-message';
|
||||||
|
|
||||||
|
import Button from 'core-components/button';
|
||||||
|
import Header from 'core-components/header';
|
||||||
|
import Listing from 'core-components/listing';
|
||||||
|
import Loading from 'core-components/loading';
|
||||||
|
import Form from 'core-components/form';
|
||||||
|
import FormField from 'core-components/form-field';
|
||||||
|
import SubmitButton from 'core-components/submit-button';
|
||||||
|
|
||||||
|
class AdminPanelEmailSettings extends React.Component {
|
||||||
|
|
||||||
|
static propTypes = {
|
||||||
|
language: React.PropTypes.string,
|
||||||
|
url: React.PropTypes.string,
|
||||||
|
};
|
||||||
|
|
||||||
|
state = {
|
||||||
|
headerImage: '',
|
||||||
|
loadingHeaderImage: false,
|
||||||
|
loadingList: true,
|
||||||
|
loadingTemplate: false,
|
||||||
|
templates: [],
|
||||||
|
loadingForm: false,
|
||||||
|
selectedIndex: -1,
|
||||||
|
edited: false,
|
||||||
|
errors: {},
|
||||||
|
language: this.props.language,
|
||||||
|
form: {
|
||||||
|
subject: '',
|
||||||
|
text1: '',
|
||||||
|
text2: '',
|
||||||
|
text3: '',
|
||||||
|
},
|
||||||
|
emailForm: {
|
||||||
|
['server-email']: '',
|
||||||
|
},
|
||||||
|
smtpForm: {
|
||||||
|
['smtp-host']: '',
|
||||||
|
['smtp-user']: '',
|
||||||
|
['smtp-pass']: 'HIDDEN',
|
||||||
|
},
|
||||||
|
imapForm: {
|
||||||
|
['imap-host']: '',
|
||||||
|
['imap-user']: '',
|
||||||
|
['imap-pass']: 'HIDDEN',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.retrieveMailTemplateList();
|
||||||
|
this.retrieveHeaderImage();
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className="admin-panel-email-settings">
|
||||||
|
{(!this.state.loadingList) ? this.renderContent() : this.renderLoading()}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderContent() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{this.renderEmailSettings()}
|
||||||
|
<Header title={i18n('EMAIL_TEMPLATES')} description={i18n('EMAIL_TEMPLATES_DESCRIPTION')}/>
|
||||||
|
<div className="row">
|
||||||
|
<div className="col-md-3">
|
||||||
|
<Listing {...this.getListingProps()}/>
|
||||||
|
</div>
|
||||||
|
{(this.state.selectedIndex !== -1) ? this.renderForm() : null}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderLoading() {
|
||||||
|
return (
|
||||||
|
<div className="admin-panel-email-settings__loading">
|
||||||
|
<Loading backgrounded size="large"/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderEmailSettings() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Header title={i18n('EMAIL_SETTINGS')} description={i18n('EMAIL_SETTINGS_DESCRIPTION')}/>
|
||||||
|
<Form className="admin-panel-email-settings__email-form"
|
||||||
|
onSubmit={this.submitEmailAddress.bind(this)}
|
||||||
|
onChange={emailForm => this.setState({emailForm})}
|
||||||
|
values={this.state.emailForm}>
|
||||||
|
<FormField name="server-email"
|
||||||
|
label={i18n('EMAIL_SERVER_ADDRESS')}
|
||||||
|
fieldProps={{size: 'large'}}
|
||||||
|
infoMessage={i18n('EMAIL_SERVER_ADDRESS_DESCRIPTION')}/>
|
||||||
|
<SubmitButton className="admin-panel-email-settings__submit" type="secondary"
|
||||||
|
size="small">{i18n('SAVE')}</SubmitButton>
|
||||||
|
</Form>
|
||||||
|
|
||||||
|
<Form values={{headerImage: this.state.headerImage}}
|
||||||
|
onChange={form => this.setState({headerImage: form.headerImage})}
|
||||||
|
onSubmit={this.onHeaderImageSubmit.bind(this)}>
|
||||||
|
<div className="admin-panel-email-settings__image-container">
|
||||||
|
<FormField className="admin-panel-email-settings__image-header-url"
|
||||||
|
label={i18n('IMAGE_HEADER_URL')} name="headerImage" required
|
||||||
|
infoMessage={i18n('IMAGE_HEADER_URL_DESCRIPTION')}
|
||||||
|
fieldProps={{size: 'large'}}/>
|
||||||
|
<SubmitButton className="admin-panel-email-settings__image-header-submit" type="secondary"
|
||||||
|
size="small">{i18n('SAVE')}</SubmitButton>
|
||||||
|
</div>
|
||||||
|
</Form>
|
||||||
|
|
||||||
|
<div className="admin-panel-email-settings__servers">
|
||||||
|
<div className="admin-panel-email-settings__box">
|
||||||
|
<Header title={i18n('SMTP_SERVER')} description={i18n('SMTP_SERVER_DESCRIPTION')}/>
|
||||||
|
<Form onSubmit={this.submitSMTP.bind(this)} onChange={smtpForm => this.setState({smtpForm})}
|
||||||
|
values={this.state.smtpForm}>
|
||||||
|
<FormField name="smtp-host" label={i18n('SMTP_SERVER')} fieldProps={{size: 'large'}}/>
|
||||||
|
<FormField name="smtp-user" label={i18n('SMTP_USER')} fieldProps={{size: 'large'}}/>
|
||||||
|
<FormField name="smtp-pass" label={i18n('SMTP_PASSWORD')} fieldProps={{size: 'large'}}/>
|
||||||
|
<div className="admin-panel-email-settings__server-form-buttons">
|
||||||
|
<SubmitButton className="admin-panel-email-settings__submit" type="secondary"
|
||||||
|
size="small">{i18n('SAVE')}</SubmitButton>
|
||||||
|
<Button type="tertiary" size="small" onClick={this.testSMTP.bind(this)}>
|
||||||
|
Test
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</Form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="admin-panel-email-settings__box">
|
||||||
|
<Header title={i18n('IMAP_SERVER')} description={i18n('IMAP_SERVER_DESCRIPTION')}/>
|
||||||
|
<Form onSubmit={this.submitIMAP.bind(this)} onChange={imapForm => this.setState({imapForm})}
|
||||||
|
values={this.state.imapForm}>
|
||||||
|
<FormField name="imap-host" label={i18n('IMAP_SERVER')} fieldProps={{size: 'large'}}/>
|
||||||
|
<FormField name="imap-user" label={i18n('IMAP_USER')} fieldProps={{size: 'large'}}/>
|
||||||
|
<FormField name="imap-pass" label={i18n('IMAP_PASSWORD')} fieldProps={{size: 'large'}}/>
|
||||||
|
<div className="admin-panel-email-settings__server-form-buttons">
|
||||||
|
<SubmitButton className="admin-panel-email-settings__submit" type="secondary"
|
||||||
|
size="small">{i18n('SAVE')}</SubmitButton>
|
||||||
|
<Button type="tertiary" size="small" onClick={this.testIMAP.bind(this)}>
|
||||||
|
Test
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</Form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderForm() {
|
||||||
|
return (
|
||||||
|
<div className="col-md-9">
|
||||||
|
<FormField label={i18n('LANGUAGE')} decorator={LanguageSelector} value={this.state.language}
|
||||||
|
onChange={event => this.onItemChange(this.state.selectedIndex, event.target.value)}
|
||||||
|
fieldProps={{
|
||||||
|
type: 'allowed',
|
||||||
|
size: 'medium'
|
||||||
|
}}/>
|
||||||
|
<Form {...this.getFormProps()}>
|
||||||
|
<div className="row">
|
||||||
|
<div className="col-md-7">
|
||||||
|
<FormField label={i18n('SUBJECT')} name="subject" validation="TITLE" required
|
||||||
|
fieldProps={{size: 'large'}}/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<FormField label={i18n('TEXT') + '1'} name="text1" validation="TEXT_AREA" required
|
||||||
|
decorator={'textarea'}
|
||||||
|
fieldProps={{className: 'admin-panel-email-settings__text-area'}}/>
|
||||||
|
{(this.state.form.text2) ?
|
||||||
|
<FormField label={i18n('TEXT') + '2'} name="text2" validation="TEXT_AREA" required
|
||||||
|
decorator={'textarea'}
|
||||||
|
fieldProps={{className: 'admin-panel-email-settings__text-area'}}/> : null}
|
||||||
|
{(this.state.form.text3) ?
|
||||||
|
<FormField label={i18n('TEXT') + '3'} name="text3" validation="TEXT_AREA" required
|
||||||
|
decorator={'textarea'}
|
||||||
|
fieldProps={{className: 'admin-panel-email-settings__text-area'}}/> : null}
|
||||||
|
|
||||||
|
<div className="admin-panel-email-settings__actions">
|
||||||
|
<div className="admin-panel-email-settings__save-button">
|
||||||
|
<SubmitButton type="secondary" size="small">{i18n('SAVE')}</SubmitButton>
|
||||||
|
</div>
|
||||||
|
<div className="admin-panel-email-settings__optional-buttons">
|
||||||
|
{(this.state.edited) ? this.renderDiscardButton() : null}
|
||||||
|
<div className="admin-panel-email-settings__recover-button">
|
||||||
|
<Button onClick={this.onRecoverClick.bind(this)} size="medium">
|
||||||
|
{i18n('RECOVER_DEFAULT')}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Form>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderDiscardButton() {
|
||||||
|
return (
|
||||||
|
<div className="admin-panel-email-settings__discard-button">
|
||||||
|
<Button onClick={this.onDiscardChangesClick.bind(this)} size="medium">
|
||||||
|
{i18n('DISCARD_CHANGES')}
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
getListingProps() {
|
||||||
|
return {
|
||||||
|
title: i18n('EMAIL_TEMPLATES'),
|
||||||
|
items: this.getTemplateItems(),
|
||||||
|
selectedIndex: this.state.selectedIndex,
|
||||||
|
onChange: this.onItemChange.bind(this)
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
getFormProps() {
|
||||||
|
return {
|
||||||
|
values: this.state.form,
|
||||||
|
errors: this.state.errors,
|
||||||
|
loading: this.state.loadingForm,
|
||||||
|
onChange: (form) => {
|
||||||
|
this.setState({form, edited: true})
|
||||||
|
},
|
||||||
|
onValidateErrors: (errors) => {
|
||||||
|
this.setState({errors})
|
||||||
|
},
|
||||||
|
onSubmit: this.onFormSubmit.bind(this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getTemplateItems() {
|
||||||
|
return this.state.templates.map((template) => {
|
||||||
|
return {
|
||||||
|
content: template
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onItemChange(index, language) {
|
||||||
|
if (this.state.edited) {
|
||||||
|
AreYouSure.openModal(i18n('WILL_LOSE_CHANGES'), this.retrieveEmailTemplate.bind(this, index, language || this.state.language));
|
||||||
|
} else {
|
||||||
|
this.retrieveEmailTemplate(index, language || this.state.language);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onHeaderImageSubmit(form) {
|
||||||
|
this.setState({
|
||||||
|
loadingHeaderImage: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
API.call({
|
||||||
|
path: '/system/edit-settings',
|
||||||
|
data: {
|
||||||
|
'mail-template-header-image': form['headerImage']
|
||||||
|
}
|
||||||
|
}).then(() => this.setState({
|
||||||
|
loadingHeaderImage: false,
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
onFormSubmit(form) {
|
||||||
|
const {selectedIndex, language, templates} = this.state;
|
||||||
|
|
||||||
|
this.setState({loadingForm: true});
|
||||||
|
|
||||||
|
API.call({
|
||||||
|
path: '/system/edit-mail-template',
|
||||||
|
data: {
|
||||||
|
template: templates[selectedIndex],
|
||||||
|
language,
|
||||||
|
subject: form.subject,
|
||||||
|
text1: form.text1,
|
||||||
|
text2: form.text2,
|
||||||
|
text3: form.text3,
|
||||||
|
}
|
||||||
|
}).then(() => {
|
||||||
|
this.setState({loadingForm: false, edited: false});
|
||||||
|
}).catch(response => {
|
||||||
|
this.setState({
|
||||||
|
loadingForm: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
switch (response.message) {
|
||||||
|
case 'INVALID_SUBJECT':
|
||||||
|
this.setState({
|
||||||
|
errors: {subject: i18n('INVALID_SYNTAX')}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 'INVALID_TEXT_1':
|
||||||
|
this.setState({
|
||||||
|
errors: {text1: i18n('INVALID_SYNTAX')}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 'INVALID_TEXT_2':
|
||||||
|
this.setState({
|
||||||
|
errors: {text2: i18n('INVALID_SYNTAX')}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case 'INVALID_TEXT_3':
|
||||||
|
this.setState({
|
||||||
|
errors: {text3: i18n('INVALID_SYNTAX')}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
onDiscardChangesClick(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
this.onItemChange(this.state.selectedIndex, this.state.language);
|
||||||
|
}
|
||||||
|
|
||||||
|
onRecoverClick(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
AreYouSure.openModal(i18n('WILL_RECOVER_EMAIL_TEMPLATE'), this.recoverEmailTemplate.bind(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
submitEmailAddress(form) {
|
||||||
|
this.editSettings(form, 'EMAIL_SUCCESS');
|
||||||
|
}
|
||||||
|
|
||||||
|
submitSMTP(form) {
|
||||||
|
this.editSettings(form, 'SMTP_SUCCESS');
|
||||||
|
}
|
||||||
|
|
||||||
|
submitIMAP(form) {
|
||||||
|
this.editSettings(form, 'IMAP_SUCCESS');
|
||||||
|
}
|
||||||
|
|
||||||
|
editSettings(form, successMessage) {
|
||||||
|
API.call({
|
||||||
|
path: '/system/edit-settings',
|
||||||
|
data: this.parsePasswordField(form)
|
||||||
|
}).then(() => PopupMessage.open({
|
||||||
|
title: i18n('SETTINGS_UPDATED'),
|
||||||
|
children: successMessage,
|
||||||
|
type: 'success'
|
||||||
|
})).catch(response => PopupMessage.open({
|
||||||
|
title: i18n('ERROR_UPDATING_SETTINGS'),
|
||||||
|
children: response.message,
|
||||||
|
type: 'error'
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
testSMTP(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
API.call({
|
||||||
|
path: '/system/test-smtp',
|
||||||
|
data: this.parsePasswordField(this.state.smtpForm)
|
||||||
|
}).then(() => PopupMessage.open({
|
||||||
|
title: `${i18n('SUCCESSFUL_CONNECTION')}: SMTP`,
|
||||||
|
children: i18n('SERVER_CREDENTIALS_WORKING'),
|
||||||
|
type: 'success',
|
||||||
|
})).catch(response => PopupMessage.open({
|
||||||
|
title: `${i18n('UNSUCCESSFUL_CONNECTION')}: SMTP`,
|
||||||
|
children: `${i18n('SERVER_ERROR')}: ${response.message}`,
|
||||||
|
type: 'error',
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
testIMAP(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
API.call({
|
||||||
|
path: '/system/test-imap',
|
||||||
|
data: this.parsePasswordField(this.state.smtpForm)
|
||||||
|
}).then(() => PopupMessage.open({
|
||||||
|
title: `${i18n('SUCCESSFUL_CONNECTION')}: IMAP`,
|
||||||
|
children: i18n('SERVER_CREDENTIALS_WORKING'),
|
||||||
|
type: 'success',
|
||||||
|
})).catch(response => PopupMessage.open({
|
||||||
|
title: `${i18n('UNSUCCESSFUL_CONNECTION')}: IMAP`,
|
||||||
|
children: `${i18n('SERVER_ERROR')}: ${response.message}`,
|
||||||
|
type: 'error',
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
recoverEmailTemplate() {
|
||||||
|
const {selectedIndex, language, templates} = this.state;
|
||||||
|
|
||||||
|
API.call({
|
||||||
|
path: '/system/recover-mail-template',
|
||||||
|
data: {
|
||||||
|
template: templates[selectedIndex],
|
||||||
|
language
|
||||||
|
}
|
||||||
|
}).then(() => {
|
||||||
|
this.retrieveEmailTemplate(this.state.selectedIndex, language);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
retrieveEmailTemplate(index, language) {
|
||||||
|
this.setState({
|
||||||
|
loadingForm: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
API.call({
|
||||||
|
path: '/system/get-mail-template',
|
||||||
|
data: {template: this.state.templates[index], language}
|
||||||
|
}).then((result) => this.setState({
|
||||||
|
language,
|
||||||
|
selectedIndex: index,
|
||||||
|
edited: false,
|
||||||
|
loadingForm: false,
|
||||||
|
form: result.data,
|
||||||
|
errors: {},
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
retrieveMailTemplateList() {
|
||||||
|
API.call({
|
||||||
|
path: '/system/get-mail-template-list',
|
||||||
|
data: {}
|
||||||
|
}).then((result) => this.setState({
|
||||||
|
loadingList: false,
|
||||||
|
templates: result.data
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
retrieveHeaderImage() {
|
||||||
|
API.call({
|
||||||
|
path: '/system/get-settings',
|
||||||
|
data: {allSettings: 1}
|
||||||
|
}).then(result => this.setState({
|
||||||
|
headerImage: result.data['mail-template-header-image'],
|
||||||
|
emailForm: {
|
||||||
|
['server-email']: result.data['server-email'],
|
||||||
|
},
|
||||||
|
smtpForm: {
|
||||||
|
['smtp-host']: result.data['smtp-host'],
|
||||||
|
['smtp-user']: result.data['smtp-user'],
|
||||||
|
['smtp-pass']: 'HIDDEN',
|
||||||
|
},
|
||||||
|
imapForm: {
|
||||||
|
['imap-host']: result.data['imap-host'],
|
||||||
|
['imap-user']: result.data['imap-user'],
|
||||||
|
['imap-pass']: 'HIDDEN',
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
parsePasswordField(form) {
|
||||||
|
let parsedForm = _.extend({}, form);
|
||||||
|
|
||||||
|
delete parsedForm['smtp-pass'];
|
||||||
|
delete parsedForm['imap-pass'];
|
||||||
|
|
||||||
|
return _.extend(parsedForm, {
|
||||||
|
[ form['smtp-pass'] && form['smtp-pass'] !== 'HIDDEN' ? 'smtp-pass' : null]: form['smtp-pass'],
|
||||||
|
[ form['imap-pass'] && form['imap-pass'] !== 'HIDDEN' ? 'imap-pass' : null]: form['imap-pass'],
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default connect((store) => {
|
||||||
|
return {
|
||||||
|
language: store.config.language,
|
||||||
|
url: store.config.url,
|
||||||
|
};
|
||||||
|
})(AdminPanelEmailSettings);
|
@ -1,6 +1,6 @@
|
|||||||
@import "../../../../scss/vars";
|
@import "../../../../scss/vars";
|
||||||
|
|
||||||
.admin-panel-email-templates {
|
.admin-panel-email-settings {
|
||||||
|
|
||||||
&__text-area {
|
&__text-area {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -26,7 +26,8 @@
|
|||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&__image-container {
|
&__image-container,
|
||||||
|
&__email-form {
|
||||||
background-color: $very-light-grey;
|
background-color: $very-light-grey;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -34,4 +35,24 @@
|
|||||||
padding: 5px 20px;
|
padding: 5px 20px;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&__box {
|
||||||
|
text-align: center;
|
||||||
|
background-color: $very-light-grey;
|
||||||
|
padding: 30px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
flex-basis: 48%;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__servers {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__server-form-buttons {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,295 +0,0 @@
|
|||||||
import React from 'react';
|
|
||||||
import _ from 'lodash';
|
|
||||||
import {connect} from 'react-redux';
|
|
||||||
|
|
||||||
import i18n from 'lib-app/i18n';
|
|
||||||
import API from 'lib-app/api-call';
|
|
||||||
|
|
||||||
import AreYouSure from 'app-components/are-you-sure';
|
|
||||||
import LanguageSelector from 'app-components/language-selector';
|
|
||||||
|
|
||||||
import Button from 'core-components/button';
|
|
||||||
import Header from 'core-components/header';
|
|
||||||
import Listing from 'core-components/listing';
|
|
||||||
import Loading from 'core-components/loading';
|
|
||||||
import Form from 'core-components/form';
|
|
||||||
import FormField from 'core-components/form-field';
|
|
||||||
import SubmitButton from 'core-components/submit-button';
|
|
||||||
|
|
||||||
class AdminPanelEmailTemplates extends React.Component {
|
|
||||||
|
|
||||||
static propTypes = {
|
|
||||||
language: React.PropTypes.string,
|
|
||||||
};
|
|
||||||
|
|
||||||
state = {
|
|
||||||
headerImage: '',
|
|
||||||
loadingHeaderImage: false,
|
|
||||||
loadingList: true,
|
|
||||||
loadingTemplate: false,
|
|
||||||
templates: [],
|
|
||||||
loadingForm: false,
|
|
||||||
selectedIndex: -1,
|
|
||||||
edited: false,
|
|
||||||
errors: {},
|
|
||||||
language: this.props.language,
|
|
||||||
form: {
|
|
||||||
subject: '',
|
|
||||||
text1: '',
|
|
||||||
text2: '',
|
|
||||||
text3: '',
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
this.retrieveMailTemplateList();
|
|
||||||
this.retrieveHeaderImage();
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<div className="admin-panel-email-templates">
|
|
||||||
<Header title={i18n('EMAIL_TEMPLATES')} description={i18n('EMAIL_TEMPLATES_DESCRIPTION')} />
|
|
||||||
{(!this.state.loadingList) ? this.renderContent() : this.renderLoading()}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
renderContent() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<div className="row">
|
|
||||||
<div className="col-md-3">
|
|
||||||
<Listing {...this.getListingProps()}/>
|
|
||||||
</div>
|
|
||||||
{(this.state.selectedIndex != -1) ? this.renderForm() : null}
|
|
||||||
</div>
|
|
||||||
<Form values={{headerImage: this.state.headerImage}} onChange={form => this.setState({headerImage: form.headerImage})} onSubmit={this.onHeaderImageSubmit.bind(this)}>
|
|
||||||
<div className="admin-panel-email-templates__image-container">
|
|
||||||
<FormField className="admin-panel-email-templates__image-header-url" label={i18n('IMAGE_HEADER_URL')} name="headerImage" required fieldProps={{size: 'large'}} />
|
|
||||||
<SubmitButton className="admin-panel-email-templates__image-header-submit" type="secondary" size="small">{i18n('SAVE')}</SubmitButton>
|
|
||||||
</div>
|
|
||||||
</Form>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
renderLoading() {
|
|
||||||
return (
|
|
||||||
<div className="admin-panel-email-templates__loading">
|
|
||||||
<Loading backgrounded size="large"/>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
renderForm() {
|
|
||||||
return (
|
|
||||||
<div className="col-md-9">
|
|
||||||
<FormField label={i18n('LANGUAGE')} decorator={LanguageSelector} value={this.state.language} onChange={event => this.onItemChange(this.state.selectedIndex, event.target.value)} fieldProps={{
|
|
||||||
type: 'allowed',
|
|
||||||
size: 'medium'
|
|
||||||
}}/>
|
|
||||||
<Form {...this.getFormProps()}>
|
|
||||||
<div className="row">
|
|
||||||
<div className="col-md-7">
|
|
||||||
<FormField label={i18n('SUBJECT')} name="subject" validation="TITLE" required fieldProps={{size: 'large'}}/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<FormField label={i18n('TEXT') + '1'} name="text1" validation="TEXT_AREA" required decorator={'textarea'} fieldProps={{className: 'admin-panel-email-templates__text-area'}} />
|
|
||||||
{(this.state.form.text2) ? <FormField label={i18n('TEXT') + '2'} name="text2" validation="TEXT_AREA" required decorator={'textarea'} fieldProps={{className: 'admin-panel-email-templates__text-area'}} /> : null}
|
|
||||||
{(this.state.form.text3) ? <FormField label={i18n('TEXT') + '3'} name="text3" validation="TEXT_AREA" required decorator={'textarea'} fieldProps={{className: 'admin-panel-email-templates__text-area'}} /> : null}
|
|
||||||
|
|
||||||
<div className="admin-panel-email-templates__actions">
|
|
||||||
<div className="admin-panel-email-templates__save-button">
|
|
||||||
<SubmitButton type="secondary" size="small">{i18n('SAVE')}</SubmitButton>
|
|
||||||
</div>
|
|
||||||
<div className="admin-panel-email-templates__optional-buttons">
|
|
||||||
{(this.state.edited) ? this.renderDiscardButton() : null}
|
|
||||||
<div className="admin-panel-email-templates__recover-button">
|
|
||||||
<Button onClick={this.onRecoverClick.bind(this)} size="medium">
|
|
||||||
{i18n('RECOVER_DEFAULT')}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</Form>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
renderDiscardButton() {
|
|
||||||
return (
|
|
||||||
<div className="admin-panel-email-templates__discard-button">
|
|
||||||
<Button onClick={this.onDiscardChangesClick.bind(this)} size="medium">
|
|
||||||
{i18n('DISCARD_CHANGES')}
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
getListingProps() {
|
|
||||||
return {
|
|
||||||
title: i18n('EMAIL_TEMPLATES'),
|
|
||||||
items: this.getTemplateItems(),
|
|
||||||
selectedIndex: this.state.selectedIndex,
|
|
||||||
onChange: this.onItemChange.bind(this)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
getFormProps() {
|
|
||||||
return {
|
|
||||||
values: this.state.form,
|
|
||||||
errors: this.state.errors,
|
|
||||||
loading: this.state.loadingForm,
|
|
||||||
onChange: (form) => {this.setState({form, edited: true})},
|
|
||||||
onValidateErrors: (errors) => {this.setState({errors})},
|
|
||||||
onSubmit: this.onFormSubmit.bind(this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
getTemplateItems() {
|
|
||||||
return this.state.templates.map((template) => {
|
|
||||||
return {
|
|
||||||
content: template
|
|
||||||
};
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onItemChange(index, language) {
|
|
||||||
if(this.state.edited) {
|
|
||||||
AreYouSure.openModal(i18n('WILL_LOSE_CHANGES'), this.retrieveEmailTemplate.bind(this, index, language || this.state.language));
|
|
||||||
} else {
|
|
||||||
this.retrieveEmailTemplate(index, language || this.state.language);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onHeaderImageSubmit(form) {
|
|
||||||
this.setState({
|
|
||||||
loadingHeaderImage: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
API.call({
|
|
||||||
path: '/system/edit-settings',
|
|
||||||
data: {
|
|
||||||
'mail-template-header-image': form['headerImage']
|
|
||||||
}
|
|
||||||
}).then(() => this.setState({
|
|
||||||
loadingHeaderImage: false,
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
|
|
||||||
onFormSubmit(form) {
|
|
||||||
const {selectedIndex, language, templates} = this.state;
|
|
||||||
|
|
||||||
this.setState({loadingForm: true});
|
|
||||||
|
|
||||||
API.call({
|
|
||||||
path: '/system/edit-mail-template',
|
|
||||||
data: {
|
|
||||||
template: templates[selectedIndex],
|
|
||||||
language,
|
|
||||||
subject: form.subject,
|
|
||||||
text1: form.text1,
|
|
||||||
text2: form.text2,
|
|
||||||
text3: form.text3,
|
|
||||||
}
|
|
||||||
}).then(() => {
|
|
||||||
this.setState({loadingForm: false, edited: false});
|
|
||||||
}).catch(response => {
|
|
||||||
this.setState({
|
|
||||||
loadingForm: false,
|
|
||||||
});
|
|
||||||
|
|
||||||
switch(response.message) {
|
|
||||||
case 'INVALID_SUBJECT':
|
|
||||||
this.setState({
|
|
||||||
errors: {subject: i18n('INVALID_SYNTAX')}
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'INVALID_TEXT_1':
|
|
||||||
this.setState({
|
|
||||||
errors: {text1: i18n('INVALID_SYNTAX')}
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'INVALID_TEXT_2':
|
|
||||||
this.setState({
|
|
||||||
errors: {text2: i18n('INVALID_SYNTAX')}
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
case 'INVALID_TEXT_3':
|
|
||||||
this.setState({
|
|
||||||
errors: {text3: i18n('INVALID_SYNTAX')}
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onDiscardChangesClick(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
this.onItemChange(this.state.selectedIndex, this.state.language);
|
|
||||||
}
|
|
||||||
|
|
||||||
onRecoverClick(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
AreYouSure.openModal(i18n('WILL_RECOVER_EMAIL_TEMPLATE'), this.recoverEmailTemplate.bind(this));
|
|
||||||
}
|
|
||||||
|
|
||||||
recoverEmailTemplate() {
|
|
||||||
const {selectedIndex, language, templates} = this.state;
|
|
||||||
|
|
||||||
API.call({
|
|
||||||
path: '/system/recover-mail-template',
|
|
||||||
data: {
|
|
||||||
template: templates[selectedIndex],
|
|
||||||
language
|
|
||||||
}
|
|
||||||
}).then(() => {
|
|
||||||
this.retrieveEmailTemplate(this.state.selectedIndex, language);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
retrieveEmailTemplate(index, language) {
|
|
||||||
this.setState({
|
|
||||||
loadingForm: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
API.call({
|
|
||||||
path: '/system/get-mail-template',
|
|
||||||
data: {template: this.state.templates[index], language}
|
|
||||||
}).then((result) => this.setState({
|
|
||||||
language,
|
|
||||||
selectedIndex: index,
|
|
||||||
edited: false,
|
|
||||||
loadingForm: false,
|
|
||||||
form: result.data,
|
|
||||||
errors: {},
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
retrieveMailTemplateList() {
|
|
||||||
API.call({
|
|
||||||
path: '/system/get-mail-template-list',
|
|
||||||
data: {}
|
|
||||||
}).then((result) => this.setState({
|
|
||||||
loadingList: false,
|
|
||||||
templates: result.data
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
retrieveHeaderImage() {
|
|
||||||
API.call({
|
|
||||||
path: '/system/get-settings',
|
|
||||||
data: {allSettings: 1}
|
|
||||||
}).then(result => this.setState({
|
|
||||||
headerImage: result.data['mail-template-header-image']
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default connect((store) => {
|
|
||||||
return {
|
|
||||||
language: store.config.language,
|
|
||||||
};
|
|
||||||
})(AdminPanelEmailTemplates);
|
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'Usuário SMTP',
|
'SMTP_USER': 'Usuário SMTP',
|
||||||
'SMTP_SERVER': 'Servidor SMTP',
|
'SMTP_SERVER': 'Servidor SMTP',
|
||||||
'SMTP_PASSWORD': 'Senha SMTP',
|
'SMTP_PASSWORD': 'Senha SMTP',
|
||||||
|
'IMAP_USER': 'Usuário IMAP',
|
||||||
|
'IMAP_SERVER': 'Servidor IMAP',
|
||||||
|
'IMAP_PASSWORD': 'Senha IMAP',
|
||||||
'PORT': 'Porta',
|
'PORT': 'Porta',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Chave Pública do Recaptcha',
|
'RECAPTCHA_PUBLIC_KEY': 'Chave Pública do Recaptcha',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Private Key do Recaptcha',
|
'RECAPTCHA_PRIVATE_KEY': 'Private Key do Recaptcha',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Desativar usuário',
|
'DISABLE_USER': 'Desativar usuário',
|
||||||
'SHOW_CLOSED_TICKETS': 'Mostrar ingressos fechados',
|
'SHOW_CLOSED_TICKETS': 'Mostrar ingressos fechados',
|
||||||
'IMAGE_HEADER_URL': 'URL do cabeçalho da imagem',
|
'IMAGE_HEADER_URL': 'URL do cabeçalho da imagem',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Imagem que será usada como cabeçalho do email',
|
||||||
|
'EMAIL_SETTINGS': 'Configurações de email',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Chamados criados',
|
'CHART_CREATE_TICKET': 'Chamados criados',
|
||||||
'CHART_CLOSE': 'Chamados fechados',
|
'CHART_CLOSE': 'Chamados fechados',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Ativar / desativar o uso de um sistema de usuário. Se você desativá-lo, todos os usuários serão excluídos, mas os chamados serão mantidos. Se você ativá-lo, os chamados de usuários existentes serão criados.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Ativar / desativar o uso de um sistema de usuário. Se você desativá-lo, todos os usuários serão excluídos, mas os chamados serão mantidos. Se você ativá-lo, os chamados de usuários existentes serão criados.',
|
||||||
'CSV_DESCRIPTION': 'O arquivo CSV deve ter 3 colunas: e-mail, senha, nome. Não há limite na contagem de linhas. Ele será criado um usuário por linha no arquivo.',
|
'CSV_DESCRIPTION': 'O arquivo CSV deve ter 3 colunas: e-mail, senha, nome. Não há limite na contagem de linhas. Ele será criado um usuário por linha no arquivo.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'A configuração do servidor SMTP permite que o aplicativo envie e-mails. Se você não configurá-lo, nenhum e-mail será enviado pela OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'A configuração do servidor SMTP permite que o aplicativo envie e-mails. Se você não configurá-lo, nenhum e-mail será enviado pela OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'A configuração do servidor IMAP permite que o aplicativo analise os e-mails enviados para uma caixa de correio.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Essa ação permite que o usuário faça login e crie tickets.',
|
'ENABLE_USER_DESCRIPTION': 'Essa ação permite que o usuário faça login e crie tickets.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'O usuário será desativado e não poderá fazer login e criar tickets.',
|
'DISABLE_USER_DESCRIPTION': 'O usuário será desativado e não poderá fazer login e criar tickets.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Esta resposta só será vista pelos funcionários',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Esta resposta só será vista pelos funcionários',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Este tópico será visto apenas por membros da equipe',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Este tópico será visto apenas por membros da equipe',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Este departamento só será visto pelos funcionários',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Este departamento só será visto pelos funcionários',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Aqui você pode editar as configurações para receber e enviar e-mail para seus clientes.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'E-mail ou senha inválidos',
|
'EMAIL_OR_PASSWORD': 'E-mail ou senha inválidos',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Este modelo de e-mail será recuperado para seu valor padrão neste idioma.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Este modelo de e-mail será recuperado para seu valor padrão neste idioma.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'O arquivo CSV foi importado com êxito',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'O arquivo CSV foi importado com êxito',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Os usuários foram excluídos com êxito',
|
'SUCCESS_DELETING_ALL_USERS': 'Os usuários foram excluídos com êxito',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Conexão bem sucedida',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Conexão sem sucesso',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Credenciais do servidor estão funcionando corretamente',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Últimos 7 dias',
|
'LAST_7_DAYS': 'Últimos 7 dias',
|
||||||
'LAST_30_DAYS': 'Últimos 30 dias',
|
'LAST_30_DAYS': 'Últimos 30 dias',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'EMAIL_LOWERCASE': 'email',
|
'EMAIL_LOWERCASE': 'email',
|
||||||
'PASSWORD_LOWERCASE': 'senha',
|
'PASSWORD_LOWERCASE': 'senha',
|
||||||
'TEST_SMTP_CONNECTION': 'Testar conexão SMTP',
|
'TEST_SMTP_CONNECTION': 'Testar conexão SMTP',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'As credenciais SMTP são válidas.',
|
'SERVER_ERROR': 'Não é possível se conectar ao servidor.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Não pode se conectar ao servidor SMTP.'
|
'EMAIL_SERVER_ADDRESS': 'Endereço do servidor de email',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Endereço onde os e-mails serão recebidos e enviados'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTP用戶',
|
'SMTP_USER': 'SMTP用戶',
|
||||||
'SMTP_SERVER': 'SMTP服務器',
|
'SMTP_SERVER': 'SMTP服務器',
|
||||||
'SMTP_PASSWORD': 'SMTP密碼',
|
'SMTP_PASSWORD': 'SMTP密碼',
|
||||||
|
'IMAP_USER': 'IMAP用户',
|
||||||
|
'IMAP_SERVER': 'IMAP服务器',
|
||||||
|
'IMAP_PASSWORD': 'IMAP密码',
|
||||||
'PORT': '港口',
|
'PORT': '港口',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha公鑰',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha公鑰',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha私人鑰匙',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha私人鑰匙',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': '禁用用户',
|
'DISABLE_USER': '禁用用户',
|
||||||
'SHOW_CLOSED_TICKETS': '显示已关闭的门票',
|
'SHOW_CLOSED_TICKETS': '显示已关闭的门票',
|
||||||
'IMAGE_HEADER_URL': '图片标题网址',
|
'IMAGE_HEADER_URL': '图片标题网址',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': '将用作电子邮件标题的图像',
|
||||||
|
'EMAIL_SETTINGS': '电邮设定',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': '已創建門票',
|
'CHART_CREATE_TICKET': '已創建門票',
|
||||||
'CHART_CLOSE': '門票已關閉',
|
'CHART_CLOSE': '門票已關閉',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': '啟用/禁用用戶系統的使用。如果你禁用它,所有的用戶將被刪除,但票將被保留。如果啟用,將創建現有票證的用戶。',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': '啟用/禁用用戶系統的使用。如果你禁用它,所有的用戶將被刪除,但票將被保留。如果啟用,將創建現有票證的用戶。',
|
||||||
'CSV_DESCRIPTION': 'CSV文件必須有3列:電子郵件,密碼,名稱。行數沒有限制。它將在文件中的每行中創建一個用戶。',
|
'CSV_DESCRIPTION': 'CSV文件必須有3列:電子郵件,密碼,名稱。行數沒有限制。它將在文件中的每行中創建一個用戶。',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'SMTP服务器允许应用程序发送邮件。 如果您没有配置,OpenSupports将不会发送任何电子邮件。',
|
'SMTP_SERVER_DESCRIPTION': 'SMTP服务器允许应用程序发送邮件。 如果您没有配置,OpenSupports将不会发送任何电子邮件。',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'IMAP服务器的配置允许应用程序解析发送到邮箱的电子邮件。',
|
||||||
'ENABLE_USER_DESCRIPTION': '此操作允许用户登录并创建票证。',
|
'ENABLE_USER_DESCRIPTION': '此操作允许用户登录并创建票证。',
|
||||||
'DISABLE_USER_DESCRIPTION': '用户将被禁用,无法登录并创建票证。',
|
'DISABLE_USER_DESCRIPTION': '用户将被禁用,无法登录并创建票证。',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': '只有工作人员才能看到这种回应',
|
'PRIVATE_RESPONSE_DESCRIPTION': '只有工作人员才能看到这种回应',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': '只有工作人员才能看到此主题',
|
'PRIVATE_TOPIC_DESCRIPTION': '只有工作人员才能看到此主题',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': '只有工作人员才能看到这个部门',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': '只有工作人员才能看到这个部门',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': '您可以在此处编辑接收和发送电子邮件给客户的设置。',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': '電子郵件或密碼無效',
|
'EMAIL_OR_PASSWORD': '電子郵件或密碼無效',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': '此電子郵件模板將恢復為該語言的默認值。',
|
'WILL_RECOVER_EMAIL_TEMPLATE': '此電子郵件模板將恢復為該語言的默認值。',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSV文件已成功導入',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSV文件已成功導入',
|
||||||
'SUCCESS_DELETING_ALL_USERS': '用戶已成功刪除',
|
'SUCCESS_DELETING_ALL_USERS': '用戶已成功刪除',
|
||||||
|
'SUCCESSFUL_CONNECTION': '成功连接',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': '连接不成功',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': '服务器凭据正常工作',
|
||||||
|
|
||||||
'LAST_7_DAYS': '最近7天',
|
'LAST_7_DAYS': '最近7天',
|
||||||
'LAST_30_DAYS': '最近30天',
|
'LAST_30_DAYS': '最近30天',
|
||||||
@ -387,6 +397,7 @@ export default {
|
|||||||
'PASSWORD_LOWERCASE': '密码',
|
'PASSWORD_LOWERCASE': '密码',
|
||||||
'SYSTEM_SETTINGS': '系统设置',
|
'SYSTEM_SETTINGS': '系统设置',
|
||||||
'TEST_SMTP_CONNECTION': '测试SMTP连接',
|
'TEST_SMTP_CONNECTION': '测试SMTP连接',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'SMTP凭据有效',
|
'SERVER_ERROR': '无法连接到服务器。',
|
||||||
'SMTP_CONNECTION_ERROR': '无法连接到SMTP服务器'
|
'EMAIL_SERVER_ADDRESS': '电邮服务器地址',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': '地址将收到和发送邮件'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTP Benutzer',
|
'SMTP_USER': 'SMTP Benutzer',
|
||||||
'SMTP_SERVER': 'SMTP Server',
|
'SMTP_SERVER': 'SMTP Server',
|
||||||
'SMTP_PASSWORD': 'SMTP Kennwort',
|
'SMTP_PASSWORD': 'SMTP Kennwort',
|
||||||
|
'IMAP_USER': 'IMAP-Benutzer',
|
||||||
|
'IMAP_SERVER': 'IMAP-Server',
|
||||||
|
'IMAP_PASSWORD': 'IMAP-Passwort',
|
||||||
'PORT': 'Port',
|
'PORT': 'Port',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha - Öffentlicher Schlüssel',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha - Öffentlicher Schlüssel',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha - Privater Schlüssel',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha - Privater Schlüssel',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Benutzer deaktivieren',
|
'DISABLE_USER': 'Benutzer deaktivieren',
|
||||||
'SHOW_CLOSED_TICKETS': 'Geschlossene Tickets anzeigen',
|
'SHOW_CLOSED_TICKETS': 'Geschlossene Tickets anzeigen',
|
||||||
'IMAGE_HEADER_URL': 'URL des Image-Headers',
|
'IMAGE_HEADER_URL': 'URL des Image-Headers',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Bild, das als Header der E-Mail verwendet wird',
|
||||||
|
'EMAIL_SETTINGS': 'Email Einstellungen',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Tickets erstellt',
|
'CHART_CREATE_TICKET': 'Tickets erstellt',
|
||||||
'CHART_CLOSE': 'Tickets geschlossen',
|
'CHART_CLOSE': 'Tickets geschlossen',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Aktivieren/deaktivieren Sie die Verwendung eines Benutzersystems. Wenn Sie es deaktivieren, werden alle Benutzer gelöscht, aber die Tickets werden behalten. Wenn Sie es aktivieren, werden die Benutzer der vorhandenen Tickets erstellt.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Aktivieren/deaktivieren Sie die Verwendung eines Benutzersystems. Wenn Sie es deaktivieren, werden alle Benutzer gelöscht, aber die Tickets werden behalten. Wenn Sie es aktivieren, werden die Benutzer der vorhandenen Tickets erstellt.',
|
||||||
'CSV_DESCRIPTION': 'Die CSV-Datei muss 3 Spalten haben: E-Mail-Adresse, Passwort, Name. Es gibt kein Limit in der Zeilenzahl. Es wird ein Benutzer pro Zeile in der Datei erstellt.',
|
'CSV_DESCRIPTION': 'Die CSV-Datei muss 3 Spalten haben: E-Mail-Adresse, Passwort, Name. Es gibt kein Limit in der Zeilenzahl. Es wird ein Benutzer pro Zeile in der Datei erstellt.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'Die Konfiguration des SMTP-Servers ermöglicht es der Software, Mails zu senden. Wenn Sie es nicht konfigurieren, werden keine E-Mails von OpenSupports gesendet.',
|
'SMTP_SERVER_DESCRIPTION': 'Die Konfiguration des SMTP-Servers ermöglicht es der Software, Mails zu senden. Wenn Sie es nicht konfigurieren, werden keine E-Mails von OpenSupports gesendet.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'Die Konfiguration des IMAP-Servers ermöglicht es der Anwendung, E-Mails zu analysieren, die an ein Postfach gesendet werden.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Mit dieser Aktion kann der Benutzer sich anmelden und Tickets erstellen.',
|
'ENABLE_USER_DESCRIPTION': 'Mit dieser Aktion kann der Benutzer sich anmelden und Tickets erstellen.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'Der Benutzer wird deaktiviert und kann keine Tickets anmelden und erstellen.',
|
'DISABLE_USER_DESCRIPTION': 'Der Benutzer wird deaktiviert und kann keine Tickets anmelden und erstellen.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Diese Antwort wird nur von den Mitarbeitern gesehen werden',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Diese Antwort wird nur von den Mitarbeitern gesehen werden',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Dieses Thema wird nur von Mitarbeitern gesehen',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Dieses Thema wird nur von Mitarbeitern gesehen',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Diese Abteilung wird nur von Mitarbeitern gesehen',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Diese Abteilung wird nur von Mitarbeitern gesehen',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Hier können Sie die Einstellungen für das Empfangen und Senden von E-Mails an Ihre Kunden bearbeiten.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'E-Mail-Adresse oder Passwort ungültig!',
|
'EMAIL_OR_PASSWORD': 'E-Mail-Adresse oder Passwort ungültig!',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Diese E-Mail-Vorlage wird auf den Standardwert zurückgesetzt.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Diese E-Mail-Vorlage wird auf den Standardwert zurückgesetzt.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Die CSV-Datei wurde erfolgreich importiert.',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Die CSV-Datei wurde erfolgreich importiert.',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Die Benutzer wurden erfolgreich gelöscht.',
|
'SUCCESS_DELETING_ALL_USERS': 'Die Benutzer wurden erfolgreich gelöscht.',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Erfolgreiche Verbindung',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Verbindung fehlgeschlagen',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Server-Anmeldeinformationen funktionieren ordnungsgemäß',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Letzte 7 Tage',
|
'LAST_7_DAYS': 'Letzte 7 Tage',
|
||||||
'LAST_30_DAYS': 'Letzte 30 Tage',
|
'LAST_30_DAYS': 'Letzte 30 Tage',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'DEFAULT_PORT': 'Leave leer für 3306 als Standard',
|
'DEFAULT_PORT': 'Leave leer für 3306 als Standard',
|
||||||
'PASSWORD_LOWERCASE': 'Passwort',
|
'PASSWORD_LOWERCASE': 'Passwort',
|
||||||
'TEST_SMTP_CONNECTION': 'SMTP Verbindung testen',
|
'TEST_SMTP_CONNECTION': 'SMTP Verbindung testen',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'SMTP Anmeldeinformationen sind gültig.',
|
'SERVER_ERROR': 'Kann nicht mit dem Server verbinden.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Verbindung zum SMTP Server nicht erfolgreich.'
|
'EMAIL_SERVER_ADDRESS': 'E-Mail-Serveradresse',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Adresse, an die Mails gesendet und gesendet werden'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTP User',
|
'SMTP_USER': 'SMTP User',
|
||||||
'SMTP_SERVER': 'SMTP Server',
|
'SMTP_SERVER': 'SMTP Server',
|
||||||
'SMTP_PASSWORD': 'SMTP Password',
|
'SMTP_PASSWORD': 'SMTP Password',
|
||||||
|
'IMAP_USER': 'IMAP User',
|
||||||
|
'IMAP_SERVER': 'IMAP Server',
|
||||||
|
'IMAP_PASSWORD': 'IMAP Password',
|
||||||
'PORT': 'Port',
|
'PORT': 'Port',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Public Key',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Public Key',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Disable User',
|
'DISABLE_USER': 'Disable User',
|
||||||
'SHOW_CLOSED_TICKETS': 'Show Closed Tickets',
|
'SHOW_CLOSED_TICKETS': 'Show Closed Tickets',
|
||||||
'IMAGE_HEADER_URL': 'Image header URL',
|
'IMAGE_HEADER_URL': 'Image header URL',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Image that will be used as header of the email',
|
||||||
|
'EMAIL_SETTINGS': 'Email Settings',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Tickets created',
|
'CHART_CREATE_TICKET': 'Tickets created',
|
||||||
'CHART_CLOSE': 'Tickets closed',
|
'CHART_CLOSE': 'Tickets closed',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Enable/disable the use of an user system. If you disable it, all users will be deleted but the tickets will be kept. If you enable it, the users of existent tickets will be created.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Enable/disable the use of an user system. If you disable it, all users will be deleted but the tickets will be kept. If you enable it, the users of existent tickets will be created.',
|
||||||
'CSV_DESCRIPTION': 'The CSV file must have 3 columns: email, password, name. There is no limit in row count. It will be created one user per row in the file.',
|
'CSV_DESCRIPTION': 'The CSV file must have 3 columns: email, password, name. There is no limit in row count. It will be created one user per row in the file.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'The configuration of the SMTP server allows the application to send mails. If you do not configure it, no emails will be sent by OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'The configuration of the SMTP server allows the application to send mails. If you do not configure it, no emails will be sent by OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'The configuration of the IMAP server allows the application parse emails sent to a mailbox.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'This action allows the user to sign in and create tickets.',
|
'ENABLE_USER_DESCRIPTION': 'This action allows the user to sign in and create tickets.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'User will be disabled and will not be able to sign in and create tickets.',
|
'DISABLE_USER_DESCRIPTION': 'User will be disabled and will not be able to sign in and create tickets.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'This response will only be seen by staff members',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'This response will only be seen by staff members',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'This topic will only be seen by staff members',
|
'PRIVATE_TOPIC_DESCRIPTION': 'This topic will only be seen by staff members',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'This department will only be seen by staff members',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'This department will only be seen by staff members',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Here you can edit the settings for receiving and sending email to your customers.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'Email or password invalid',
|
'EMAIL_OR_PASSWORD': 'Email or password invalid',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'This email template will be recover to it\'s default value on this language.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'This email template will be recover to it\'s default value on this language.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSV File has been imported successfully',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSV File has been imported successfully',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Users have beend deleted successfully',
|
'SUCCESS_DELETING_ALL_USERS': 'Users have beend deleted successfully',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Successful connection',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Unsuccessful connection',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Server credentials are working correctly',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Last 7 days',
|
'LAST_7_DAYS': 'Last 7 days',
|
||||||
'LAST_30_DAYS': 'Last 30 days',
|
'LAST_30_DAYS': 'Last 30 days',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'EMAIL_LOWERCASE': 'email',
|
'EMAIL_LOWERCASE': 'email',
|
||||||
'PASSWORD_LOWERCASE': 'password',
|
'PASSWORD_LOWERCASE': 'password',
|
||||||
'TEST_SMTP_CONNECTION': 'Test SMTP connection',
|
'TEST_SMTP_CONNECTION': 'Test SMTP connection',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'SMTP credentials are valid.',
|
'SERVER_ERROR': 'Can not connect to server.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Can\'t connect to SMTP server.'
|
'EMAIL_SERVER_ADDRESS': 'Email server address',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Address where mails will be received and sent'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'Usuario SMTP',
|
'SMTP_USER': 'Usuario SMTP',
|
||||||
'SMTP_SERVER': 'Servidor SMTP',
|
'SMTP_SERVER': 'Servidor SMTP',
|
||||||
'SMTP_PASSWORD': 'Contraseña SMTP',
|
'SMTP_PASSWORD': 'Contraseña SMTP',
|
||||||
|
'IMAP_USER': 'Usuario IMAP',
|
||||||
|
'IMAP_SERVER': 'Servidor IMAP',
|
||||||
|
'IMAP_PASSWORD': 'Contraseña IMAP',
|
||||||
'PORT': 'Puerto',
|
'PORT': 'Puerto',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha clave pública',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha clave pública',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha clave privada',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha clave privada',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Deshabilitar usuario',
|
'DISABLE_USER': 'Deshabilitar usuario',
|
||||||
'SHOW_CLOSED_TICKETS': 'Mostrar Tickets Cerrados',
|
'SHOW_CLOSED_TICKETS': 'Mostrar Tickets Cerrados',
|
||||||
'IMAGE_HEADER_URL': 'URL del encabezado de la imagen',
|
'IMAGE_HEADER_URL': 'URL del encabezado de la imagen',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Imagen que se utilizará como encabezado del correo electrónico.',
|
||||||
|
'EMAIL_SETTINGS': 'Ajustes del correo electrónico',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Tickets creados',
|
'CHART_CREATE_TICKET': 'Tickets creados',
|
||||||
'CHART_CLOSE': 'Tickets cerrados',
|
'CHART_CLOSE': 'Tickets cerrados',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Habilitar/Deshabilitar el uso de un sistema de usuario. Si lo deshabilitas, todos los usuarios serán eliminados pero los tickets serán guardados. Si lo habilitas, se crearán los usuarios de los tickets existentes.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Habilitar/Deshabilitar el uso de un sistema de usuario. Si lo deshabilitas, todos los usuarios serán eliminados pero los tickets serán guardados. Si lo habilitas, se crearán los usuarios de los tickets existentes.',
|
||||||
'CSV_DESCRIPTION': 'El archivo CSV debe tener 3 columnas: correo electrónico, contraseña, nombre. No hay límite en el recuento de filas. Se creará un usuario por fila en el archivo.',
|
'CSV_DESCRIPTION': 'El archivo CSV debe tener 3 columnas: correo electrónico, contraseña, nombre. No hay límite en el recuento de filas. Se creará un usuario por fila en el archivo.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'La configuracion de SMTP permite que la applicacion mande emails. Si no es configurado, ningún mail sera enviado OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'La configuracion de SMTP permite que la applicacion mande emails. Si no es configurado, ningún mail sera enviado OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'La configuración del servidor IMAP permite que los correos electrónicos de la aplicación se envíen a un buzón.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Esta acción permite al usuario iniciar sesión y crear tickets..',
|
'ENABLE_USER_DESCRIPTION': 'Esta acción permite al usuario iniciar sesión y crear tickets..',
|
||||||
'DISABLE_USER_DESCRIPTION': 'El usuario estará deshabilitado y no podrá iniciar sesión y crear tickets.',
|
'DISABLE_USER_DESCRIPTION': 'El usuario estará deshabilitado y no podrá iniciar sesión y crear tickets.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Esta respuesta solo será vista por los miembros del personal.',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Esta respuesta solo será vista por los miembros del personal.',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Este tema solo será visto por los miembros del personal.',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Este tema solo será visto por los miembros del personal.',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Este departamento solo será visto por miembros del personal.',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Este departamento solo será visto por miembros del personal.',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Aquí puede editar la configuración para recibir y enviar correos electrónicos a sus clientes.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'Email o contraseña inválida',
|
'EMAIL_OR_PASSWORD': 'Email o contraseña inválida',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'El archivo CSV se ha importado correctamente',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'El archivo CSV se ha importado correctamente',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Los usuarios se han eliminado correctamente',
|
'SUCCESS_DELETING_ALL_USERS': 'Los usuarios se han eliminado correctamente',
|
||||||
'ERROR_IMAGE_SIZE': 'Ninguna imagen puede tener un tamaño superior a {size} MB',
|
'ERROR_IMAGE_SIZE': 'Ninguna imagen puede tener un tamaño superior a {size} MB',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Conexión exitosa',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Conexión fallida',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Las credenciales del servidor están funcionando correctamente',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Últimos 7 dias',
|
'LAST_7_DAYS': 'Últimos 7 dias',
|
||||||
'LAST_30_DAYS': 'Últimos 30 dias',
|
'LAST_30_DAYS': 'Últimos 30 dias',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'DEFAULT_PORT': 'Deje en blanco para 3306 por defecto',
|
'DEFAULT_PORT': 'Deje en blanco para 3306 por defecto',
|
||||||
'PASSWORD_LOWERCASE': 'contraseña',
|
'PASSWORD_LOWERCASE': 'contraseña',
|
||||||
'TEST_SMTP_CONNECTION': 'Probar conexion de SMTP',
|
'TEST_SMTP_CONNECTION': 'Probar conexion de SMTP',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'La credenciales de SMTP son correctas.',
|
'SERVER_ERROR': 'No es posible conectar con el servidor.',
|
||||||
'SMTP_CONNECTION_ERROR': 'No es posible conectarse al servidor de SMTP.'
|
'EMAIL_SERVER_ADDRESS': 'Dirección del servidor de correo electrónico',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Dirección donde se recibirán y enviarán los correos.'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'Utilisateur SMTP',
|
'SMTP_USER': 'Utilisateur SMTP',
|
||||||
'SMTP_SERVER': 'Serveur SMTP',
|
'SMTP_SERVER': 'Serveur SMTP',
|
||||||
'SMTP_PASSWORD': 'Mot de passe SMTP',
|
'SMTP_PASSWORD': 'Mot de passe SMTP',
|
||||||
|
'IMAP_USER': 'Utilisateur IMAP',
|
||||||
|
'IMAP_SERVER': 'Serveur IMAP',
|
||||||
|
'IMAP_PASSWORD': 'Mot de passe IMAP',
|
||||||
'PORT': 'Port',
|
'PORT': 'Port',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Clé publique Recaptcha',
|
'RECAPTCHA_PUBLIC_KEY': 'Clé publique Recaptcha',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Clé privée Recaptcha',
|
'RECAPTCHA_PRIVATE_KEY': 'Clé privée Recaptcha',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Désactiver l\'utilisateur',
|
'DISABLE_USER': 'Désactiver l\'utilisateur',
|
||||||
'SHOW_CLOSED_TICKETS': 'Afficher les billets fermés',
|
'SHOW_CLOSED_TICKETS': 'Afficher les billets fermés',
|
||||||
'IMAGE_HEADER_URL': 'URL de l\'en-tête de l\'image',
|
'IMAGE_HEADER_URL': 'URL de l\'en-tête de l\'image',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Image qui sera utilisée comme en-tête de l\'email',
|
||||||
|
'EMAIL_SETTINGS': 'Paramètres de messagerie',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Tickets créés',
|
'CHART_CREATE_TICKET': 'Tickets créés',
|
||||||
'CHART_CLOSE': 'Tickets fermés',
|
'CHART_CLOSE': 'Tickets fermés',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Activer / désactiver l\'utilisation d\'un système utilisateur. Si vous le désactivez, tous les utilisateurs seront supprimés, mais les tickets seront conservés. Si vous l\'activez, les utilisateurs des tickets existants seront créés.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Activer / désactiver l\'utilisation d\'un système utilisateur. Si vous le désactivez, tous les utilisateurs seront supprimés, mais les tickets seront conservés. Si vous l\'activez, les utilisateurs des tickets existants seront créés.',
|
||||||
'CSV_DESCRIPTION': 'Le fichier CSV doit comporter 3 colonnes: email, mot de passe, nom. Il n\'y a pas de limite dans le nombre de lignes. Il sera créé un utilisateur par ligne dans le fichier.',
|
'CSV_DESCRIPTION': 'Le fichier CSV doit comporter 3 colonnes: email, mot de passe, nom. Il n\'y a pas de limite dans le nombre de lignes. Il sera créé un utilisateur par ligne dans le fichier.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'La configuration du serveur SMTP permet à l\'application d\'envoyer des mails. Si vous ne le configurez pas, aucun service d\'email ne sera envoyé par OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'La configuration du serveur SMTP permet à l\'application d\'envoyer des mails. Si vous ne le configurez pas, aucun service d\'email ne sera envoyé par OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'La configuration du serveur IMAP permet à l\'application d\'analyser les e-mails envoyés à une boîte aux lettres.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Cette action permet à l\'utilisateur de se connecter et de créer des tickets.',
|
'ENABLE_USER_DESCRIPTION': 'Cette action permet à l\'utilisateur de se connecter et de créer des tickets.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'L\'utilisateur sera désactivé et ne pourra pas se connecter et créer des tickets.',
|
'DISABLE_USER_DESCRIPTION': 'L\'utilisateur sera désactivé et ne pourra pas se connecter et créer des tickets.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Cette réponse ne sera vue que par les membres du personnel',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Cette réponse ne sera vue que par les membres du personnel',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Ce sujet ne sera vu que par les membres du personnel',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Ce sujet ne sera vu que par les membres du personnel',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Ce département ne sera vu que par les membres du personnel',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Ce département ne sera vu que par les membres du personnel',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Ici, vous pouvez modifier les paramètres de réception et d’envoi de courrier électronique à vos clients.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'E-mail ou mot de passe invalide',
|
'EMAIL_OR_PASSWORD': 'E-mail ou mot de passe invalide',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Ce modèle de courrier électronique sera réinitialisé à sa valeur par défaut pour cette langue.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Ce modèle de courrier électronique sera réinitialisé à sa valeur par défaut pour cette langue.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Le fichier CSV a été importé avec succès',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Le fichier CSV a été importé avec succès',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Les utilisateurs ont été supprimés avec succès',
|
'SUCCESS_DELETING_ALL_USERS': 'Les utilisateurs ont été supprimés avec succès',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Connexion réussie',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Connexion infructueuse',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Les informations d\'identification du serveur fonctionnent correctement',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Les 7 derniers jours',
|
'LAST_7_DAYS': 'Les 7 derniers jours',
|
||||||
'LAST_30_DAYS': 'Les 30 derniers jours',
|
'LAST_30_DAYS': 'Les 30 derniers jours',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'DEFAULT_PORT': 'Laisser vide pour 3306 par défaut',
|
'DEFAULT_PORT': 'Laisser vide pour 3306 par défaut',
|
||||||
'PASSWORD_LOWERCASE': 'mot de passe',
|
'PASSWORD_LOWERCASE': 'mot de passe',
|
||||||
'TEST_SMTP_CONNECTION': 'Test de connexion SMTP',
|
'TEST_SMTP_CONNECTION': 'Test de connexion SMTP',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'Les informations d\'identification SMTP sont valides.',
|
'SERVER_ERROR': 'Ne peut pas se connecter au serveur.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Ne peut pas se connecter au serveur SMTP.'
|
'EMAIL_SERVER_ADDRESS': 'Adresse du serveur de messagerie',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Adresse où les mails seront reçus et envoyés'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@
|
|||||||
'SMTP_USER': 'SMTP Χρήστης',
|
'SMTP_USER': 'SMTP Χρήστης',
|
||||||
'SMTP_SERVER': 'SMTP Εξυπηρετητής',
|
'SMTP_SERVER': 'SMTP Εξυπηρετητής',
|
||||||
'SMTP_PASSWORD': 'SMTP Κωδικός Πρόσβασης',
|
'SMTP_PASSWORD': 'SMTP Κωδικός Πρόσβασης',
|
||||||
|
'IMAP_USER': 'Χρήστης IMAP',
|
||||||
|
'IMAP_SERVER': 'IMAP Server',
|
||||||
|
'IMAP_PASSWORD': 'Κωδικός IMAP',
|
||||||
'PORT': 'Θύρα',
|
'PORT': 'Θύρα',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Δημοσίου Κλειδιού',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Δημοσίου Κλειδιού',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Ιδιωτικού Κλειδιού',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Ιδιωτικού Κλειδιού',
|
||||||
@ -191,6 +194,8 @@
|
|||||||
'DISABLE_USER': 'Απενεργοποίηση χρήστη',
|
'DISABLE_USER': 'Απενεργοποίηση χρήστη',
|
||||||
'SHOW_CLOSED_TICKETS': 'Εμφάνιση κλειστών εισιτηρίων',
|
'SHOW_CLOSED_TICKETS': 'Εμφάνιση κλειστών εισιτηρίων',
|
||||||
'IMAGE_HEADER_URL': 'Διεύθυνση URL κεφαλίδας εικόνας',
|
'IMAGE_HEADER_URL': 'Διεύθυνση URL κεφαλίδας εικόνας',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Εικόνα που θα χρησιμοποιηθεί ως κεφαλίδα του μηνύματος ηλεκτρονικού ταχυδρομείου',
|
||||||
|
'EMAIL_SETTINGS': 'Ρυθμίσεις email',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Τα εισιτήρια δημιουργήθηκαν',
|
'CHART_CREATE_TICKET': 'Τα εισιτήρια δημιουργήθηκαν',
|
||||||
'CHART_CLOSE': 'Τα εισιτήρια κλείσανε',
|
'CHART_CLOSE': 'Τα εισιτήρια κλείσανε',
|
||||||
@ -303,11 +308,13 @@
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Ενεργοποίηση / απενεργοποίηση της χρήσης ενός συστήματος χρήστη. Εάν την απενεργοποιήσετε, όλοι οι χρήστες θα διαγραφούν αλλά τα εισιτήρια θα διατηρηθούν. Εάν την ενεργοποιήσετε, θα δημιουργηθούν οι χρήστες των υφιστάμενων εισιτηρίων.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Ενεργοποίηση / απενεργοποίηση της χρήσης ενός συστήματος χρήστη. Εάν την απενεργοποιήσετε, όλοι οι χρήστες θα διαγραφούν αλλά τα εισιτήρια θα διατηρηθούν. Εάν την ενεργοποιήσετε, θα δημιουργηθούν οι χρήστες των υφιστάμενων εισιτηρίων.',
|
||||||
'CSV_DESCRIPTION': 'Το αρχείο CSV πρέπει να έχει 3 στήλες: email, κωδικό πρόσβασης, όνομα. Δεν υπάρχει όριο στην καταμέτρηση των σειρών. Θα δημιουργηθεί ένας χρήστης ανά σειρά στο αρχείο.',
|
'CSV_DESCRIPTION': 'Το αρχείο CSV πρέπει να έχει 3 στήλες: email, κωδικό πρόσβασης, όνομα. Δεν υπάρχει όριο στην καταμέτρηση των σειρών. Θα δημιουργηθεί ένας χρήστης ανά σειρά στο αρχείο.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'Η διαμόρφωση του διακομιστή SMTP επιτρέπει στην εφαρμογή να στείλει μηνύματα. Αν δεν το ρυθμίσετε, δεν θα σταλούν μηνύματα ηλεκτρονικού ταχυδρομείου από το OpenSupport.',
|
'SMTP_SERVER_DESCRIPTION': 'Η διαμόρφωση του διακομιστή SMTP επιτρέπει στην εφαρμογή να στείλει μηνύματα. Αν δεν το ρυθμίσετε, δεν θα σταλούν μηνύματα ηλεκτρονικού ταχυδρομείου από το OpenSupport.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'Η διαμόρφωση του διακομιστή IMAP επιτρέπει στην εφαρμογή να αναλύει τα μηνύματα ηλεκτρονικού ταχυδρομείου που αποστέλλονται σε ένα γραμματοκιβώτιο.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Αυτή η ενέργεια επιτρέπει στο χρήστη να συνδεθεί και να δημιουργήσει εισιτήρια.',
|
'ENABLE_USER_DESCRIPTION': 'Αυτή η ενέργεια επιτρέπει στο χρήστη να συνδεθεί και να δημιουργήσει εισιτήρια.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'Ο χρήστης θα απενεργοποιηθεί και δεν θα μπορέσει να συνδεθεί και να δημιουργήσει εισιτήρια.',
|
'DISABLE_USER_DESCRIPTION': 'Ο χρήστης θα απενεργοποιηθεί και δεν θα μπορέσει να συνδεθεί και να δημιουργήσει εισιτήρια.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Αυτή η απάντηση θα δει μόνο τα μέλη του προσωπικού',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Αυτή η απάντηση θα δει μόνο τα μέλη του προσωπικού',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Αυτό το θέμα θα προβληθεί μόνο από μέλη του προσωπικού',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Αυτό το θέμα θα προβληθεί μόνο από μέλη του προσωπικού',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Αυτό το τμήμα θα δει μόνο τα μέλη του προσωπικού',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Αυτό το τμήμα θα δει μόνο τα μέλη του προσωπικού',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Εδώ μπορείτε να επεξεργαστείτε τις ρυθμίσεις για τη λήψη και αποστολή μηνυμάτων ηλεκτρονικού ταχυδρομείου στους πελάτες σας.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'Λάθος ηλεκτρονική διεύθυνση ή κωδικός πρόσβασης',
|
'EMAIL_OR_PASSWORD': 'Λάθος ηλεκτρονική διεύθυνση ή κωδικός πρόσβασης',
|
||||||
@ -365,6 +372,9 @@
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Αυτό το πρότυπο ηλεκτρονικού ταχυδρομείου θα αναληφθεί σε κατάσταση αρχική με την αρχική γλώσσα.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Αυτό το πρότυπο ηλεκτρονικού ταχυδρομείου θα αναληφθεί σε κατάσταση αρχική με την αρχική γλώσσα.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Το αρχείο CSV έχει εισαχθεί επιτυχώς',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Το αρχείο CSV έχει εισαχθεί επιτυχώς',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Οι χρήστες έχουν διαγραφεί επιτυχώς',
|
'SUCCESS_DELETING_ALL_USERS': 'Οι χρήστες έχουν διαγραφεί επιτυχώς',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Επιτυχής σύνδεση',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Μη επιτυχής σύνδεση',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Οι πιστοποιήσεις διακομιστή λειτουργούν σωστά',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Τελευταίες 7 μέρες',
|
'LAST_7_DAYS': 'Τελευταίες 7 μέρες',
|
||||||
'LAST_30_DAYS': 'Τελευταίες 30 μέρες',
|
'LAST_30_DAYS': 'Τελευταίες 30 μέρες',
|
||||||
@ -386,6 +396,7 @@
|
|||||||
'EMAIL_LOWERCASE': 'ηλεκτρονική διεύθυνση',
|
'EMAIL_LOWERCASE': 'ηλεκτρονική διεύθυνση',
|
||||||
'PASSWORD_LOWERCASE': 'κωδικός πρόσβασης',
|
'PASSWORD_LOWERCASE': 'κωδικός πρόσβασης',
|
||||||
'TEST_SMTP_CONNECTION': 'Δοκίμασε την SMTP σύνδεση',
|
'TEST_SMTP_CONNECTION': 'Δοκίμασε την SMTP σύνδεση',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'Τα SMTP διαπιστευτήρια είναι έγκυρα.',
|
'SERVER_ERROR': 'Δεν μπορεί να συνδεθεί στον σέρβερ.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Δεν μπορεί να γίνει σύνδεση στον SMTP διακομιστή.'
|
'EMAIL_SERVER_ADDRESS': 'Διεύθυνση διακομιστή ηλεκτρονικού ταχυδρομείου',
|
||||||
};
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Διεύθυνση όπου θα ληφθούν και θα αποσταλούν τα μηνύματα'
|
||||||
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'एसएमटीपी उपयोगकर्ता',
|
'SMTP_USER': 'एसएमटीपी उपयोगकर्ता',
|
||||||
'SMTP_SERVER': 'एसएमटीपी सर्वर',
|
'SMTP_SERVER': 'एसएमटीपी सर्वर',
|
||||||
'SMTP_PASSWORD': 'एसएमटीपी पासवर्ड',
|
'SMTP_PASSWORD': 'एसएमटीपी पासवर्ड',
|
||||||
|
'IMAP_USER': 'IMAP उपयोगकर्ता',
|
||||||
|
'IMAP_SERVER': 'IMAP सर्वर',
|
||||||
|
'IMAP_PASSWORD': 'IMAP पासवर्ड',
|
||||||
'PORT': 'बंदरगाह',
|
'PORT': 'बंदरगाह',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha सार्वजनिक कुंजी',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha सार्वजनिक कुंजी',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha निजी कुंजी',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha निजी कुंजी',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'उपयोगकर्ता को अक्षम करें',
|
'DISABLE_USER': 'उपयोगकर्ता को अक्षम करें',
|
||||||
'SHOW_CLOSED_TICKETS': 'बंद टिकट दिखाएं',
|
'SHOW_CLOSED_TICKETS': 'बंद टिकट दिखाएं',
|
||||||
'IMAGE_HEADER_URL': 'छवि शीर्षलेख यूआरएल',
|
'IMAGE_HEADER_URL': 'छवि शीर्षलेख यूआरएल',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'वह छवि जो ईमेल के शीर्ष लेख के रूप में उपयोग की जाएगी',
|
||||||
|
'EMAIL_SETTINGS': 'ईमेल सेटिंग',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'टिकट बनाया',
|
'CHART_CREATE_TICKET': 'टिकट बनाया',
|
||||||
'CHART_CLOSE': 'टिकट बंद कर दिया',
|
'CHART_CLOSE': 'टिकट बंद कर दिया',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'किसी उपयोगकर्ता सिस्टम के उपयोग को सक्षम / अक्षम करें यदि आप इसे अक्षम करते हैं, तो सभी उपयोगकर्ताओं को हटा दिया जाएगा लेकिन टिकट को रखा जाएगा। यदि आप इसे सक्षम करते हैं, तो विद्यमान टिकट के उपयोगकर्ता बनाए जाएंगे',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'किसी उपयोगकर्ता सिस्टम के उपयोग को सक्षम / अक्षम करें यदि आप इसे अक्षम करते हैं, तो सभी उपयोगकर्ताओं को हटा दिया जाएगा लेकिन टिकट को रखा जाएगा। यदि आप इसे सक्षम करते हैं, तो विद्यमान टिकट के उपयोगकर्ता बनाए जाएंगे',
|
||||||
'CSV_DESCRIPTION': 'सीएसवी फ़ाइल में 3 कॉलम होना चाहिए: ईमेल, पासवर्ड, नाम। पंक्ति गणना में कोई सीमा नहीं है फ़ाइल में प्रति पंक्ति एक उपयोगकर्ता बनाया जाएगा।',
|
'CSV_DESCRIPTION': 'सीएसवी फ़ाइल में 3 कॉलम होना चाहिए: ईमेल, पासवर्ड, नाम। पंक्ति गणना में कोई सीमा नहीं है फ़ाइल में प्रति पंक्ति एक उपयोगकर्ता बनाया जाएगा।',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'एसएमटीपी सर्वर का कॉन्फ़िगरेशन एप्लिकेशन को मेल भेजने की अनुमति देता है। यदि आप इसे कॉन्फ़िगर नहीं करते हैं, तो OpenSupports द्वारा कोई ईमेल नहीं भेजा जाएगा।',
|
'SMTP_SERVER_DESCRIPTION': 'एसएमटीपी सर्वर का कॉन्फ़िगरेशन एप्लिकेशन को मेल भेजने की अनुमति देता है। यदि आप इसे कॉन्फ़िगर नहीं करते हैं, तो OpenSupports द्वारा कोई ईमेल नहीं भेजा जाएगा।',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'IMAP सर्वर का कॉन्फ़िगरेशन एक मेलबॉक्स में भेजे गए एप्लिकेशन पार्स ईमेल की अनुमति देता है।',
|
||||||
'ENABLE_USER_DESCRIPTION': 'यह क्रिया उपयोगकर्ता को साइन इन करने और टिकट बनाने की अनुमति देती है।',
|
'ENABLE_USER_DESCRIPTION': 'यह क्रिया उपयोगकर्ता को साइन इन करने और टिकट बनाने की अनुमति देती है।',
|
||||||
'DISABLE_USER_DESCRIPTION': 'उपयोगकर्ता अक्षम कर दिया जाएगा और साइन इन करने और टिकट बनाने में सक्षम नहीं होगा।',
|
'DISABLE_USER_DESCRIPTION': 'उपयोगकर्ता अक्षम कर दिया जाएगा और साइन इन करने और टिकट बनाने में सक्षम नहीं होगा।',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'यह प्रतिक्रिया केवल कर्मचारियों के सदस्यों द्वारा देखी जाएगी',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'यह प्रतिक्रिया केवल कर्मचारियों के सदस्यों द्वारा देखी जाएगी',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'यह विषय केवल कर्मचारियों के सदस्यों द्वारा देखा जाएगा',
|
'PRIVATE_TOPIC_DESCRIPTION': 'यह विषय केवल कर्मचारियों के सदस्यों द्वारा देखा जाएगा',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'यह विभाग केवल कर्मचारियों के सदस्यों द्वारा देखा जाएगा',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'यह विभाग केवल कर्मचारियों के सदस्यों द्वारा देखा जाएगा',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'यहां आप अपने ग्राहकों को ईमेल प्राप्त करने और भेजने के लिए सेटिंग्स को संपादित कर सकते हैं।',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'ईमेल या पासवर्ड अमान्य',
|
'EMAIL_OR_PASSWORD': 'ईमेल या पासवर्ड अमान्य',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'यह इस भाषा पर डिफ़ॉल्ट मान है करने के लिए इस ईमेल टेम्पलेट की वसूली की जाएगी।',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'यह इस भाषा पर डिफ़ॉल्ट मान है करने के लिए इस ईमेल टेम्पलेट की वसूली की जाएगी।',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'सीएसवी फ़ाइल को सफलतापूर्वक आयात किया गया है',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'सीएसवी फ़ाइल को सफलतापूर्वक आयात किया गया है',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'उपयोगकर्ताओं को सफलतापूर्वक हटा दिया गया है',
|
'SUCCESS_DELETING_ALL_USERS': 'उपयोगकर्ताओं को सफलतापूर्वक हटा दिया गया है',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'सफल संबंध',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'असफल कनेक्शन',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'सर्वर क्रेडेंशियल्स सही ढंग से काम कर रहे हैं',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'पिछले 7 दिन',
|
'LAST_7_DAYS': 'पिछले 7 दिन',
|
||||||
'LAST_30_DAYS': 'अंतिम 30 दिन',
|
'LAST_30_DAYS': 'अंतिम 30 दिन',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'DEFAULT_PORT': '3306 के लिए डिफ़ॉल्ट के रूप में खाली छोड़ दें',
|
'DEFAULT_PORT': '3306 के लिए डिफ़ॉल्ट के रूप में खाली छोड़ दें',
|
||||||
'PASSWORD_LOWERCASE': 'पासवर्ड',
|
'PASSWORD_LOWERCASE': 'पासवर्ड',
|
||||||
'TEST_SMTP_CONNECTION': 'परीक्षण एसएमटीपी कनेक्शन',
|
'TEST_SMTP_CONNECTION': 'परीक्षण एसएमटीपी कनेक्शन',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'SMTP क्रेडेंशियल्स मान्य हं।',
|
'SERVER_ERROR': 'सर्वर से कनेक्ट नहीं हो पा रहा।',
|
||||||
'SMTP_CONNECTION_ERROR': 'एसएमटीपी सर्वर से कनेक्ट नहीं हो सकता'
|
'EMAIL_SERVER_ADDRESS': 'ईमेल सर्वर का पता',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'पता जहां मेल प्राप्त होगा और भेजा जाएगा'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTP User',
|
'SMTP_USER': 'SMTP User',
|
||||||
'SMTP_SERVER': 'SMTP Server',
|
'SMTP_SERVER': 'SMTP Server',
|
||||||
'SMTP_PASSWORD': 'SMTP Password',
|
'SMTP_PASSWORD': 'SMTP Password',
|
||||||
|
'IMAP_USER': 'Utente IMAP',
|
||||||
|
'IMAP_SERVER': 'Server IMAP',
|
||||||
|
'IMAP_PASSWORD': 'Password IMAP',
|
||||||
'PORT': 'Port',
|
'PORT': 'Port',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Public Key',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Public Key',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Disabilita utente',
|
'DISABLE_USER': 'Disabilita utente',
|
||||||
'SHOW_CLOSED_TICKETS': 'Mostra biglietti chiusi',
|
'SHOW_CLOSED_TICKETS': 'Mostra biglietti chiusi',
|
||||||
'IMAGE_HEADER_URL': 'URL dell\'intestazione dell\'immagine',
|
'IMAGE_HEADER_URL': 'URL dell\'intestazione dell\'immagine',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Immagine che verrà utilizzata come intestazione dell\'e-mail',
|
||||||
|
'EMAIL_SETTINGS': 'impostazioni dell \'email',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Tickets creato',
|
'CHART_CREATE_TICKET': 'Tickets creato',
|
||||||
'CHART_CLOSE': 'Tickets chiuso',
|
'CHART_CLOSE': 'Tickets chiuso',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Abilita / disabilita l\'utilizzo di un sistema utente. Se lo disattiverai, tutti gli utenti verranno eliminati ma i biglietti saranno conservati. Se lo abiliterai, verranno creati gli utenti dei biglietti esistenti.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Abilita / disabilita l\'utilizzo di un sistema utente. Se lo disattiverai, tutti gli utenti verranno eliminati ma i biglietti saranno conservati. Se lo abiliterai, verranno creati gli utenti dei biglietti esistenti.',
|
||||||
'CSV_DESCRIPTION': 'l file CSV deve avere 3 colonne: e-mail, password, nome. Non esiste alcun limite nel conteggio delle righe. Sarà creato un utente per riga nel file.',
|
'CSV_DESCRIPTION': 'l file CSV deve avere 3 colonne: e-mail, password, nome. Non esiste alcun limite nel conteggio delle righe. Sarà creato un utente per riga nel file.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'La configurazione del server SMTP consente all\'applicazione di inviare messaggi. Se non lo si configura, non verrà inviata alcuna email da OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'La configurazione del server SMTP consente all\'applicazione di inviare messaggi. Se non lo si configura, non verrà inviata alcuna email da OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'La configurazione del server IMAP consente l\'applicazione di email di analisi inviate a una casella di posta.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Questa azione consente all\'utente di accedere e creare ticket.',
|
'ENABLE_USER_DESCRIPTION': 'Questa azione consente all\'utente di accedere e creare ticket.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'L\'utente sarà disabilitato e non sarà in grado di accedere e creare biglietti.',
|
'DISABLE_USER_DESCRIPTION': 'L\'utente sarà disabilitato e non sarà in grado di accedere e creare biglietti.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Questa risposta sarà visibile solo ai membri dello staff',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Questa risposta sarà visibile solo ai membri dello staff',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Questo argomento sarà visto solo dai membri dello staff',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Questo argomento sarà visto solo dai membri dello staff',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Questo dipartimento sarà visto solo dai membri dello staff',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Questo dipartimento sarà visto solo dai membri dello staff',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Qui puoi modificare le impostazioni per ricevere e inviare email ai tuoi clienti.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'Email o password errate',
|
'EMAIL_OR_PASSWORD': 'Email o password errate',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Questo template verrà recuperato al suo valore predefinito in questa lingua.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Questo template verrà recuperato al suo valore predefinito in questa lingua.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Il file CSV è stato importato correttamente',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Il file CSV è stato importato correttamente',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Gli utenti devono essere eliminati correttamente',
|
'SUCCESS_DELETING_ALL_USERS': 'Gli utenti devono essere eliminati correttamente',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Connessione riuscita',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Connessione non riuscita',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Le credenziali del server funzionano correttamente',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Ultimi 7 giorni',
|
'LAST_7_DAYS': 'Ultimi 7 giorni',
|
||||||
'LAST_30_DAYS': 'Ultimi 30 giorni',
|
'LAST_30_DAYS': 'Ultimi 30 giorni',
|
||||||
@ -386,7 +396,8 @@ export default {
|
|||||||
'DEFAULT_PORT': 'Lascia vuoto per 3306 come predefinito',
|
'DEFAULT_PORT': 'Lascia vuoto per 3306 come predefinito',
|
||||||
'PASSWORD_LOWERCASE': 'password',
|
'PASSWORD_LOWERCASE': 'password',
|
||||||
'TEST_SMTP_CONNECTION': 'Verifica connessione SMTP',
|
'TEST_SMTP_CONNECTION': 'Verifica connessione SMTP',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'Le credenziali SMTP sono valide.',
|
'SERVER_ERROR': 'Non è possibile connettersi con il server.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Impossibile connettersi al server SMTP.'
|
'EMAIL_SERVER_ADDRESS': 'Indirizzo del server email',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Indirizzo dove verranno ricevuti e inviati i messaggi'
|
||||||
};
|
};
|
||||||
/** Special thanks to Fabio Giarrusso for translation contribution **/
|
/** Special thanks to Fabio Giarrusso for translation contribution **/
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTPユーザー',
|
'SMTP_USER': 'SMTPユーザー',
|
||||||
'SMTP_SERVER': 'SMTPサーバー',
|
'SMTP_SERVER': 'SMTPサーバー',
|
||||||
'SMTP_PASSWORD': 'SMTPパスワード',
|
'SMTP_PASSWORD': 'SMTPパスワード',
|
||||||
|
'IMAP_USER': 'IMAPユーザー',
|
||||||
|
'IMAP_SERVER': 'IMAPサーバー',
|
||||||
|
'IMAP_PASSWORD': 'IMAPパスワード',
|
||||||
'PORT': 'ポート',
|
'PORT': 'ポート',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha公開鍵',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha公開鍵',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha秘密鍵',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha秘密鍵',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'ユーザーを無効にする',
|
'DISABLE_USER': 'ユーザーを無効にする',
|
||||||
'SHOW_CLOSED_TICKETS': 'クローズドチケットを表示する',
|
'SHOW_CLOSED_TICKETS': 'クローズドチケットを表示する',
|
||||||
'IMAGE_HEADER_URL': '画像のヘッダーURL',
|
'IMAGE_HEADER_URL': '画像のヘッダーURL',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': '電子メールのヘッダーとして使用される画像',
|
||||||
|
'EMAIL_SETTINGS': 'メール設定',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': '作成されたチケット',
|
'CHART_CREATE_TICKET': '作成されたチケット',
|
||||||
'CHART_CLOSE': 'チケットが閉じられました',
|
'CHART_CLOSE': 'チケットが閉じられました',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'ユーザシステムの使用を有効/無効にします。無効にすると、すべてのユーザーは削除されますが、チケットは保持されます。これを有効にすると、既存のチケットのユーザーが作成されます。',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'ユーザシステムの使用を有効/無効にします。無効にすると、すべてのユーザーは削除されますが、チケットは保持されます。これを有効にすると、既存のチケットのユーザーが作成されます。',
|
||||||
'CSV_DESCRIPTION': 'CSVファイルには、電子メール、パスワード、名前の3つの列が必要です。行数に制限はありません。ファイル内で行ごとに1人ずつ作成されます',
|
'CSV_DESCRIPTION': 'CSVファイルには、電子メール、パスワード、名前の3つの列が必要です。行数に制限はありません。ファイル内で行ごとに1人ずつ作成されます',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'SMTPサーバーの設定により、アプリケーションはメールを送信できます。 これを設定しないと、OpenSupportsから電子メールは送信されません。',
|
'SMTP_SERVER_DESCRIPTION': 'SMTPサーバーの設定により、アプリケーションはメールを送信できます。 これを設定しないと、OpenSupportsから電子メールは送信されません。',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'IMAPサーバーの設定により、アプリケーションはメールボックスに送信されたEメールを解析できます。',
|
||||||
'ENABLE_USER_DESCRIPTION': 'これにより、ユーザーはサインインしてチケットを作成できます。',
|
'ENABLE_USER_DESCRIPTION': 'これにより、ユーザーはサインインしてチケットを作成できます。',
|
||||||
'DISABLE_USER_DESCRIPTION': 'ユーザーは無効になり、ログインしてチケットを作成することはできません。',
|
'DISABLE_USER_DESCRIPTION': 'ユーザーは無効になり、ログインしてチケットを作成することはできません。',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'スタッフのみがこの回答を見ることができます',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'スタッフのみがこの回答を見ることができます',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'このトピックは、スタッフによってのみ表示されます',
|
'PRIVATE_TOPIC_DESCRIPTION': 'このトピックは、スタッフによってのみ表示されます',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'この部署はスタッフだけが見ることができます',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'この部署はスタッフだけが見ることができます',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'ここでは、顧客との間でEメールを送受信するための設定を編集できます。',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': '電子メールまたはパスワードが無効です',
|
'EMAIL_OR_PASSWORD': '電子メールまたはパスワードが無効です',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'この電子メールテンプレートは、この言語のデフォルト値にリカバリされます。',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'この電子メールテンプレートは、この言語のデフォルト値にリカバリされます。',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSVファイルを正常にインポートしました',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSVファイルを正常にインポートしました',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'ユーザーは正常に削除されました',
|
'SUCCESS_DELETING_ALL_USERS': 'ユーザーは正常に削除されました',
|
||||||
|
'SUCCESSFUL_CONNECTION': '成功した接続',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': '失敗した接続',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'サーバーの資格情報が正しく機能している',
|
||||||
|
|
||||||
'LAST_7_DAYS': '過去7日間',
|
'LAST_7_DAYS': '過去7日間',
|
||||||
'LAST_30_DAYS': '過去30日間',
|
'LAST_30_DAYS': '過去30日間',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'DEFAULT_PORT': '既定値として3306の場合は空のままにします',
|
'DEFAULT_PORT': '既定値として3306の場合は空のままにします',
|
||||||
'PASSWORD_LOWERCASE': 'パスワード',
|
'PASSWORD_LOWERCASE': 'パスワード',
|
||||||
'TEST_SMTP_CONNECTION': 'SMTP接続をテストする',
|
'TEST_SMTP_CONNECTION': 'SMTP接続をテストする',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'SMTP資格情報が有効です。',
|
'SERVER_ERROR': 'サーバーに接続できません。',
|
||||||
'SMTP_CONNECTION_ERROR': 'SMTPサーバーに接続できません。'
|
'EMAIL_SERVER_ADDRESS': 'メールサーバーアドレス',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'メールが送受信されるアドレス'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTP Gebruiker',
|
'SMTP_USER': 'SMTP Gebruiker',
|
||||||
'SMTP_SERVER': 'SMTP Server',
|
'SMTP_SERVER': 'SMTP Server',
|
||||||
'SMTP_PASSWORD': 'SMTP Wachtwoord',
|
'SMTP_PASSWORD': 'SMTP Wachtwoord',
|
||||||
|
'IMAP_USER': 'IMAP-gebruiker',
|
||||||
|
'IMAP_SERVER': 'IMAP-server',
|
||||||
|
'IMAP_PASSWORD': 'IMAP-wachtwoord',
|
||||||
'PORT': 'Poort',
|
'PORT': 'Poort',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Publieke Sleutel',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Publieke Sleutel',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Prive Sleutel',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Prive Sleutel',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Gebruiker uitschakelen',
|
'DISABLE_USER': 'Gebruiker uitschakelen',
|
||||||
'SHOW_CLOSED_TICKETS': 'Toon gesloten tickets',
|
'SHOW_CLOSED_TICKETS': 'Toon gesloten tickets',
|
||||||
'IMAGE_HEADER_URL': 'Image header URL',
|
'IMAGE_HEADER_URL': 'Image header URL',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Afbeelding die wordt gebruikt als koptekst van de e-mail',
|
||||||
|
'EMAIL_SETTINGS': 'Email instellingen',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Aangemaakte incidenten',
|
'CHART_CREATE_TICKET': 'Aangemaakte incidenten',
|
||||||
'CHART_CLOSE': 'Gesloten incidenten',
|
'CHART_CLOSE': 'Gesloten incidenten',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Schakel het gebruik van een gebruikerssysteem in / uit. Als u dit uitschakelt, worden alle gebruikers verwijderd, maar worden de incidenten bewaard. Als u dit inschakelt, worden de gebruikers van bestaande incidenten aangemaakt.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Schakel het gebruik van een gebruikerssysteem in / uit. Als u dit uitschakelt, worden alle gebruikers verwijderd, maar worden de incidenten bewaard. Als u dit inschakelt, worden de gebruikers van bestaande incidenten aangemaakt.',
|
||||||
'CSV_DESCRIPTION': 'Het CSV-bestand moet drie kolommen bevatten: e-mailadres, wachtwoord, naam. Er is geen limiet in rijtelling. Er wordt één gebruiker per rij in de database gemaakt.',
|
'CSV_DESCRIPTION': 'Het CSV-bestand moet drie kolommen bevatten: e-mailadres, wachtwoord, naam. Er is geen limiet in rijtelling. Er wordt één gebruiker per rij in de database gemaakt.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'De configuratie van de SMTP-server staat het systeem toe om e-mails te verzenden. Als u deze optie niet configureerd, worden er geen e-mails verzonden door OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'De configuratie van de SMTP-server staat het systeem toe om e-mails te verzenden. Als u deze optie niet configureerd, worden er geen e-mails verzonden door OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'Met de configuratie van de IMAP-server kan de toepassing e-mails analyseren die naar een mailbox worden verzonden.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Met deze actie kan de gebruiker inloggen en tickets maken.',
|
'ENABLE_USER_DESCRIPTION': 'Met deze actie kan de gebruiker inloggen en tickets maken.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'De gebruiker wordt uitgeschakeld en kan zich niet aanmelden en geen tickets maken.',
|
'DISABLE_USER_DESCRIPTION': 'De gebruiker wordt uitgeschakeld en kan zich niet aanmelden en geen tickets maken.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Dit antwoord is alleen zichtbaar voor personeelsleden',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Dit antwoord is alleen zichtbaar voor personeelsleden',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Dit onderwerp is alleen zichtbaar voor personeelsleden',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Dit onderwerp is alleen zichtbaar voor personeelsleden',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Deze afdeling is alleen zichtbaar voor personeelsleden',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Deze afdeling is alleen zichtbaar voor personeelsleden',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Hier kunt u de instellingen voor het ontvangen en verzenden van e-mail naar uw klanten bewerken.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'E-mailadres of wachtwoord ongeldig',
|
'EMAIL_OR_PASSWORD': 'E-mailadres of wachtwoord ongeldig',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Dit e-mailsjabloon wordt hersteld naar de standaardwaarde voor deze taal.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Dit e-mailsjabloon wordt hersteld naar de standaardwaarde voor deze taal.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Het CSV bestand is succesvol geimporteerd',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Het CSV bestand is succesvol geimporteerd',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Gebruikers zijn succesvol verwijderd',
|
'SUCCESS_DELETING_ALL_USERS': 'Gebruikers zijn succesvol verwijderd',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Succesvolle verbinding',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Mislukte verbinding',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Serverreferenties werken correct',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Laatste 7 dagen',
|
'LAST_7_DAYS': 'Laatste 7 dagen',
|
||||||
'LAST_30_DAYS': 'Laatste 30 dagen',
|
'LAST_30_DAYS': 'Laatste 30 dagen',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'EMAIL_LOWERCASE': 'e-mail',
|
'EMAIL_LOWERCASE': 'e-mail',
|
||||||
'PASSWORD_LOWERCASE': 'Wachtwoord',
|
'PASSWORD_LOWERCASE': 'Wachtwoord',
|
||||||
'TEST_SMTP_CONNECTION': 'Test SMTP verbinding',
|
'TEST_SMTP_CONNECTION': 'Test SMTP verbinding',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'SMTP inloggegevens zijn correct.',
|
'SERVER_ERROR': 'Kan geen verbinding maken met de server.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Verbinding naar SMTP server mislukt.'
|
'EMAIL_SERVER_ADDRESS': 'E-mailserveradres',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Adres waar mails worden ontvangen en verzonden'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'Usuário SMTP',
|
'SMTP_USER': 'Usuário SMTP',
|
||||||
'SMTP_SERVER': 'Servidor SMTP',
|
'SMTP_SERVER': 'Servidor SMTP',
|
||||||
'SMTP_PASSWORD': 'Senha SMTP',
|
'SMTP_PASSWORD': 'Senha SMTP',
|
||||||
|
'IMAP_USER': 'Usuário IMAP',
|
||||||
|
'IMAP_SERVER': 'Servidor IMAP',
|
||||||
|
'IMAP_PASSWORD': 'Senha IMAP',
|
||||||
'PORT': 'Porta',
|
'PORT': 'Porta',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Chave Pública',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Chave Pública',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Private Key',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Desativar usuário',
|
'DISABLE_USER': 'Desativar usuário',
|
||||||
'SHOW_CLOSED_TICKETS': 'Mostrar ingressos fechados',
|
'SHOW_CLOSED_TICKETS': 'Mostrar ingressos fechados',
|
||||||
'IMAGE_HEADER_URL': 'URL do cabeçalho da imagem',
|
'IMAGE_HEADER_URL': 'URL do cabeçalho da imagem',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Imagem que será usada como cabeçalho do email',
|
||||||
|
'EMAIL_SETTINGS': 'Configurações de email',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Ingressos criados',
|
'CHART_CREATE_TICKET': 'Ingressos criados',
|
||||||
'CHART_CLOSE': 'Ingressos fechados',
|
'CHART_CLOSE': 'Ingressos fechados',
|
||||||
@ -303,11 +308,13 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Ativar / desativar o uso de um sistema de usuário. Se você desativá-lo, todos os usuários serão excluídos, mas os ingressos serão mantidos. Se você ativá-lo, os usuários de tickets existentes serão criados.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Ativar / desativar o uso de um sistema de usuário. Se você desativá-lo, todos os usuários serão excluídos, mas os ingressos serão mantidos. Se você ativá-lo, os usuários de tickets existentes serão criados.',
|
||||||
'CSV_DESCRIPTION': 'O arquivo CSV deve ter 3 colunas: e-mail, senha, nome. Não há limite na contagem de linhas. Ele será criado um usuário por linha no arquivo.',
|
'CSV_DESCRIPTION': 'O arquivo CSV deve ter 3 colunas: e-mail, senha, nome. Não há limite na contagem de linhas. Ele será criado um usuário por linha no arquivo.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'A configuração do servidor SMTP permite que o aplicativo envie e-mails. Se você não configurá-lo, nenhum e-mail será enviado pela OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'A configuração do servidor SMTP permite que o aplicativo envie e-mails. Se você não configurá-lo, nenhum e-mail será enviado pela OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'A configuração do servidor IMAP permite que o aplicativo analise os e-mails enviados para uma caixa de correio.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Essa ação permite que o usuário faça login e crie tickets.',
|
'ENABLE_USER_DESCRIPTION': 'Essa ação permite que o usuário faça login e crie tickets.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'O usuário será desativado e não poderá fazer login e criar tickets.',
|
'DISABLE_USER_DESCRIPTION': 'O usuário será desativado e não poderá fazer login e criar tickets.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Esta resposta só será vista pelos funcionários',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Esta resposta só será vista pelos funcionários',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Este tópico será visto apenas por membros da equipe',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Este tópico será visto apenas por membros da equipe',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Este departamento só será visto pelos funcionários',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Este departamento só será visto pelos funcionários',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Aqui você pode editar as configurações para receber e enviar e-mail para seus clientes.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'E-mail ou senha inválidos',
|
'EMAIL_OR_PASSWORD': 'E-mail ou senha inválidos',
|
||||||
@ -365,6 +372,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Este modelo de e-mail será recuperado para seu valor padrão neste idioma.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Este modelo de e-mail será recuperado para seu valor padrão neste idioma.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'O arquivo CSV foi importado com êxito',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'O arquivo CSV foi importado com êxito',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Os usuários foram excluídos com êxito',
|
'SUCCESS_DELETING_ALL_USERS': 'Os usuários foram excluídos com êxito',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Conexão bem sucedida',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Conexão sem sucesso',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Credenciais do servidor estão funcionando corretamente',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Últimos 7 dias',
|
'LAST_7_DAYS': 'Últimos 7 dias',
|
||||||
'LAST_30_DAYS': 'Últimos 30 dias',
|
'LAST_30_DAYS': 'Últimos 30 dias',
|
||||||
@ -386,6 +396,7 @@ export default {
|
|||||||
'DEFAULT_PORT': 'Deixar vazio para 3306 como padrão',
|
'DEFAULT_PORT': 'Deixar vazio para 3306 como padrão',
|
||||||
'PASSWORD_LOWERCASE': 'senha',
|
'PASSWORD_LOWERCASE': 'senha',
|
||||||
'TEST_SMTP_CONNECTION': 'Testar conexão SMTP',
|
'TEST_SMTP_CONNECTION': 'Testar conexão SMTP',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'As credenciais SMTP são válidas.',
|
'SERVER_ERROR': 'Não é possível se conectar ao servidor.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Não pode se conectar ao servidor SMTP.'
|
'EMAIL_SERVER_ADDRESS': 'Endereço do servidor de email',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Endereço onde os e-mails serão recebidos e enviados'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTP Пользователь',
|
'SMTP_USER': 'SMTP Пользователь',
|
||||||
'SMTP_SERVER': 'SMTP-сервер',
|
'SMTP_SERVER': 'SMTP-сервер',
|
||||||
'SMTP_PASSWORD': 'Пароль SMTP',
|
'SMTP_PASSWORD': 'Пароль SMTP',
|
||||||
|
'IMAP_USER': 'Пользователь IMAP',
|
||||||
|
'IMAP_SERVER': 'IMAP сервер',
|
||||||
|
'IMAP_PASSWORD': 'Пароль IMAP',
|
||||||
'PORT': 'порт',
|
'PORT': 'порт',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Открытый ключ',
|
'RECAPTCHA_PUBLIC_KEY': 'Recaptcha Открытый ключ',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Секретный ключ',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Секретный ключ',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Отключить пользователя',
|
'DISABLE_USER': 'Отключить пользователя',
|
||||||
'SHOW_CLOSED_TICKETS': 'Показать закрытые билеты',
|
'SHOW_CLOSED_TICKETS': 'Показать закрытые билеты',
|
||||||
'IMAGE_HEADER_URL': 'URL заголовка изображения',
|
'IMAGE_HEADER_URL': 'URL заголовка изображения',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'Изображение, которое будет использоваться в качестве заголовка письма',
|
||||||
|
'EMAIL_SETTINGS': 'Настройки электронной почты',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Билеты создано',
|
'CHART_CREATE_TICKET': 'Билеты создано',
|
||||||
'CHART_CLOSE': ' Билеты закрыты',
|
'CHART_CLOSE': ' Билеты закрыты',
|
||||||
@ -303,12 +308,14 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Включить / отключить использование пользовательской системы. Если вы отключите его, все пользователи будут удалены. Если вы включите его, будут созданы пользователи существующих билетов.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Включить / отключить использование пользовательской системы. Если вы отключите его, все пользователи будут удалены. Если вы включите его, будут созданы пользователи существующих билетов.',
|
||||||
'CSV_DESCRIPTION': 'Файл CSV должен иметь 3 столбца: адрес электронной почты, пароль и имя. Количество строк не ограничено. В файле будет создан один пользователь для каждой строки.',
|
'CSV_DESCRIPTION': 'Файл CSV должен иметь 3 столбца: адрес электронной почты, пароль и имя. Количество строк не ограничено. В файле будет создан один пользователь для каждой строки.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'Конфигурация SMTP-сервера позволяет приложению отправлять письма. Если вы не настроите его, никакие электронные письма не будут отправлены OpenSupports.',
|
'SMTP_SERVER_DESCRIPTION': 'Конфигурация SMTP-сервера позволяет приложению отправлять письма. Если вы не настроите его, никакие электронные письма не будут отправлены OpenSupports.',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'Конфигурация сервера IMAP позволяет приложению анализировать электронные письма, отправленные на почтовый ящик.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Это действие позволяет пользователю входить в систему и создавать билеты.',
|
'ENABLE_USER_DESCRIPTION': 'Это действие позволяет пользователю входить в систему и создавать билеты.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'Пользователь будет отключен и не сможет войти и создать билеты',
|
'DISABLE_USER_DESCRIPTION': 'Пользователь будет отключен и не сможет войти и создать билеты',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Этот ответ будет рассматриваться только сотрудниками',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Этот ответ будет рассматриваться только сотрудниками',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Эта тема будет видна только сотрудникам',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Эта тема будет видна только сотрудникам',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Этот отдел будет рассматриваться только сотрудниками',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Этот отдел будет рассматриваться только сотрудниками',
|
||||||
'PRIVATE_DESCRIPTION': 'Этот ответ будет рассматриваться только сотрудниками',
|
'PRIVATE_DESCRIPTION': 'Этот ответ будет рассматриваться только сотрудниками',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Здесь вы можете редактировать настройки для получения и отправки электронной почты своим клиентам.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'электронной почты или пароль недействительный',
|
'EMAIL_OR_PASSWORD': 'электронной почты или пароль недействительный',
|
||||||
@ -366,6 +373,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Этот шаблон электронной почты будет восстанавливаться, чтобы это значение по умолчанию на этом языке.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Этот шаблон электронной почты будет восстанавливаться, чтобы это значение по умолчанию на этом языке.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Файл CSV успешно установлен',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'Файл CSV успешно установлен',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Пользователи удалили beend',
|
'SUCCESS_DELETING_ALL_USERS': 'Пользователи удалили beend',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Успешное соединение',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Неудачное соединение',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Учетные данные сервера работают правильно',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Последние 7 дней',
|
'LAST_7_DAYS': 'Последние 7 дней',
|
||||||
'LAST_30_DAYS': 'Последние 30 дней',
|
'LAST_30_DAYS': 'Последние 30 дней',
|
||||||
@ -387,6 +397,7 @@ export default {
|
|||||||
'PASSWORD_LOWERCASE': 'пароль',
|
'PASSWORD_LOWERCASE': 'пароль',
|
||||||
'DEFAULT_PORT': 'Оставьте пустым для 3306 по умолчанию',
|
'DEFAULT_PORT': 'Оставьте пустым для 3306 по умолчанию',
|
||||||
'TEST_SMTP_CONNECTION': 'Тестирование SMTP-соединения',
|
'TEST_SMTP_CONNECTION': 'Тестирование SMTP-соединения',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'Учетные данные SMTP действительны.',
|
'SERVER_ERROR': 'Невозможно установить связь с сервером.',
|
||||||
'SMTP_CONNECTION_ERROR': 'Не удается подключиться к SMTP-серверу.'
|
'EMAIL_SERVER_ADDRESS': 'Адрес почтового сервера',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Адрес, по которому будут приниматься и отправляться письма'
|
||||||
};
|
};
|
||||||
|
@ -141,6 +141,9 @@ export default {
|
|||||||
'SMTP_USER': 'SMTP Kullanıcısı',
|
'SMTP_USER': 'SMTP Kullanıcısı',
|
||||||
'SMTP_SERVER': 'SMTP Sunucusu',
|
'SMTP_SERVER': 'SMTP Sunucusu',
|
||||||
'SMTP_PASSWORD': 'SMTP Parolası',
|
'SMTP_PASSWORD': 'SMTP Parolası',
|
||||||
|
'IMAP_USER': 'IMAP Kullanıcısı',
|
||||||
|
'IMAP_SERVER': 'IMAP Sunucusu',
|
||||||
|
'IMAP_PASSWORD': 'IMAP Şifresi',
|
||||||
'PORT': 'Liman',
|
'PORT': 'Liman',
|
||||||
'RECAPTCHA_PUBLIC_KEY': 'Hızlı Erişim Anahtarı',
|
'RECAPTCHA_PUBLIC_KEY': 'Hızlı Erişim Anahtarı',
|
||||||
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Özel Anahtar',
|
'RECAPTCHA_PRIVATE_KEY': 'Recaptcha Özel Anahtar',
|
||||||
@ -191,6 +194,8 @@ export default {
|
|||||||
'DISABLE_USER': 'Kullanıcıyı Devre Dışı Bırak',
|
'DISABLE_USER': 'Kullanıcıyı Devre Dışı Bırak',
|
||||||
'SHOW_CLOSED_TICKETS': 'Kapalı Biletleri Göster',
|
'SHOW_CLOSED_TICKETS': 'Kapalı Biletleri Göster',
|
||||||
'IMAGE_HEADER_URL': 'Resim başlığı URL\'si',
|
'IMAGE_HEADER_URL': 'Resim başlığı URL\'si',
|
||||||
|
'IMAGE_HEADER_DESCRIPTION': 'E-postanın başlığı olarak kullanılacak resim',
|
||||||
|
'EMAIL_SETTINGS': 'e mail ayarları',
|
||||||
|
|
||||||
'CHART_CREATE_TICKET': 'Biletler oluşturuldu',
|
'CHART_CREATE_TICKET': 'Biletler oluşturuldu',
|
||||||
'CHART_CLOSE': 'Biletler kapandı',
|
'CHART_CLOSE': 'Biletler kapandı',
|
||||||
@ -303,12 +308,14 @@ export default {
|
|||||||
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Bir kullanıcı sisteminin kullanımını etkinleştirir / devre dışı bırakır. Devre dışı bırakırsanız, tüm kullanıcılar silinir ancak biletler muhafaza edilir. Etkinleştirirseniz, mevcut biletler kullanıcıları oluşturulur.',
|
'ENABLE_USER_SYSTEM_DESCRIPTION': 'Bir kullanıcı sisteminin kullanımını etkinleştirir / devre dışı bırakır. Devre dışı bırakırsanız, tüm kullanıcılar silinir ancak biletler muhafaza edilir. Etkinleştirirseniz, mevcut biletler kullanıcıları oluşturulur.',
|
||||||
'CSV_DESCRIPTION': 'CSV dosyasının 3 sütun olması gerekir: e-posta, şifre, ad. Satır sayısı sınırı yoktur. Dosya satır başına bir kullanıcı oluşturulur.',
|
'CSV_DESCRIPTION': 'CSV dosyasının 3 sütun olması gerekir: e-posta, şifre, ad. Satır sayısı sınırı yoktur. Dosya satır başına bir kullanıcı oluşturulur.',
|
||||||
'SMTP_SERVER_DESCRIPTION': 'SMTP sunucusunun yapılandırması, uygulamanın postalar göndermesine izin verir. Onu yapılandırmazsanız, OpenSupports tarafından hiçbir e-posta gönderilmeyecektir',
|
'SMTP_SERVER_DESCRIPTION': 'SMTP sunucusunun yapılandırması, uygulamanın postalar göndermesine izin verir. Onu yapılandırmazsanız, OpenSupports tarafından hiçbir e-posta gönderilmeyecektir',
|
||||||
|
'IMAP_SERVER_DESCRIPTION': 'IMAP sunucusunun yapılandırması, uygulamanın bir posta kutusuna gönderilen e-postaları ayrıştırmasına izin verir.',
|
||||||
'ENABLE_USER_DESCRIPTION': 'Bu eylem, kullanıcının giriş yapmasına ve bilet oluşturmasına izin verir.',
|
'ENABLE_USER_DESCRIPTION': 'Bu eylem, kullanıcının giriş yapmasına ve bilet oluşturmasına izin verir.',
|
||||||
'DISABLE_USER_DESCRIPTION': 'Kullanıcı devre dışı bırakılacak ve oturum açıp bilet oluşturamayacak.',
|
'DISABLE_USER_DESCRIPTION': 'Kullanıcı devre dışı bırakılacak ve oturum açıp bilet oluşturamayacak.',
|
||||||
'PRIVATE_RESPONSE_DESCRIPTION': 'Bu yanıt sadece personel tarafından görülebilir',
|
'PRIVATE_RESPONSE_DESCRIPTION': 'Bu yanıt sadece personel tarafından görülebilir',
|
||||||
'PRIVATE_TOPIC_DESCRIPTION': 'Bu konu sadece çalışanlar tarafından görülebilir',
|
'PRIVATE_TOPIC_DESCRIPTION': 'Bu konu sadece çalışanlar tarafından görülebilir',
|
||||||
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Bu bölüm sadece personel tarafından görülebilir',
|
'PRIVATE_DEPARTMENT_DESCRIPTION': 'Bu bölüm sadece personel tarafından görülebilir',
|
||||||
'PRIVATE_DESCRIPTION': 'Bu yanıt sadece personel tarafından görülebilir',
|
'PRIVATE_DESCRIPTION': 'Bu yanıt sadece personel tarafından görülebilir',
|
||||||
|
'EMAIL_SETTINGS_DESCRIPTION': 'Burada, müşterilerinize e-posta alma ve gönderme ayarlarını düzenleyebilirsiniz.',
|
||||||
|
|
||||||
//ERRORS
|
//ERRORS
|
||||||
'EMAIL_OR_PASSWORD': 'E-posta veya şifre geçersiz',
|
'EMAIL_OR_PASSWORD': 'E-posta veya şifre geçersiz',
|
||||||
@ -366,6 +373,9 @@ export default {
|
|||||||
'WILL_RECOVER_EMAIL_TEMPLATE': 'Bu e-posta şablonu, bu dildeki varsayılan değere kadar düzelir.',
|
'WILL_RECOVER_EMAIL_TEMPLATE': 'Bu e-posta şablonu, bu dildeki varsayılan değere kadar düzelir.',
|
||||||
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSV Dosyası başarıyla içe aktarıldı',
|
'SUCCESS_IMPORTING_CSV_DESCRIPTION': 'CSV Dosyası başarıyla içe aktarıldı',
|
||||||
'SUCCESS_DELETING_ALL_USERS': 'Kullanıcılar başarılı bir şekilde silindi',
|
'SUCCESS_DELETING_ALL_USERS': 'Kullanıcılar başarılı bir şekilde silindi',
|
||||||
|
'SUCCESSFUL_CONNECTION': 'Başarılı bağlantı',
|
||||||
|
'UNSUCCESSFUL_CONNECTION': 'Başarısız bağlantı',
|
||||||
|
'SERVER_CREDENTIALS_WORKING': 'Sunucu kimlik bilgileri doğru çalışıyor',
|
||||||
|
|
||||||
'LAST_7_DAYS': 'Son 7 gün',
|
'LAST_7_DAYS': 'Son 7 gün',
|
||||||
'LAST_30_DAYS': 'Son 30 gün',
|
'LAST_30_DAYS': 'Son 30 gün',
|
||||||
@ -387,6 +397,7 @@ export default {
|
|||||||
'DEFAULT_PORT': '3306 için boş bırak varsayılan olarak',
|
'DEFAULT_PORT': '3306 için boş bırak varsayılan olarak',
|
||||||
'PASSWORD_LOWERCASE': 'parola',
|
'PASSWORD_LOWERCASE': 'parola',
|
||||||
'TEST_SMTP_CONNECTION': 'SMTP bağlantısını test et',
|
'TEST_SMTP_CONNECTION': 'SMTP bağlantısını test et',
|
||||||
'SMTP_CONNECTION_SUCCESS': 'SMTP kimlik bilgileri geçerlidir.',
|
'SERVER_ERROR': 'Sunucuya bağlanamıyor.',
|
||||||
'SMTP_CONNECTION_ERROR': 'SMTP sunucusuna bağlanılamıyor.'
|
'EMAIL_SERVER_ADDRESS': 'E-posta sunucusu adresi',
|
||||||
|
'EMAIL_SERVER_ADDRESS_DESCRIPTION': 'Postaların alınacağı ve gönderileceği adres',
|
||||||
};
|
};
|
||||||
|
@ -30,5 +30,6 @@ $systemControllerGroup->addController(new CSVImportController);
|
|||||||
$systemControllerGroup->addController(new DisableUserSystemController);
|
$systemControllerGroup->addController(new DisableUserSystemController);
|
||||||
$systemControllerGroup->addController(new EnableUserSystemController);
|
$systemControllerGroup->addController(new EnableUserSystemController);
|
||||||
$systemControllerGroup->addController(new TestSMTPController);
|
$systemControllerGroup->addController(new TestSMTPController);
|
||||||
|
$systemControllerGroup->addController(new TestIMAPController);
|
||||||
|
|
||||||
$systemControllerGroup->finalize();
|
$systemControllerGroup->finalize();
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
use Respect\Validation\Validator as DataValidator;
|
use Respect\Validation\Validator as DataValidator;
|
||||||
|
use RedBeanPHP\Facade as RedBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {post} /system/get-logs Get logs
|
* @api {post} /system/get-logs Get logs
|
||||||
|
@ -45,10 +45,11 @@ class GetSettingsController extends Controller {
|
|||||||
'max-size' => Setting::getSetting('max-size')->getValue(),
|
'max-size' => Setting::getSetting('max-size')->getValue(),
|
||||||
'url' => Setting::getSetting('url')->getValue(),
|
'url' => Setting::getSetting('url')->getValue(),
|
||||||
'title' => Setting::getSetting('title')->getValue(),
|
'title' => Setting::getSetting('title')->getValue(),
|
||||||
'no-reply-email' => Setting::getSetting('no-reply-email')->getValue(),
|
'server-email' => Setting::getSetting('server-email')->getValue(),
|
||||||
'smtp-port' => Setting::getSetting('smtp-port')->getValue(),
|
|
||||||
'smtp-host' => Setting::getSetting('smtp-host')->getValue(),
|
'smtp-host' => Setting::getSetting('smtp-host')->getValue(),
|
||||||
'smtp-user' => Setting::getSetting('smtp-user')->getValue(),
|
'smtp-user' => Setting::getSetting('smtp-user')->getValue(),
|
||||||
|
'imap-host' => Setting::getSetting('imap-host')->getValue(),
|
||||||
|
'imap-user' => Setting::getSetting('imap-user')->getValue(),
|
||||||
'registration' => Setting::getSetting('registration')->getValue(),
|
'registration' => Setting::getSetting('registration')->getValue(),
|
||||||
'departments' => Department::getAllDepartmentNames(),
|
'departments' => Department::getAllDepartmentNames(),
|
||||||
'supportedLanguages' => Language::getSupportedLanguages(),
|
'supportedLanguages' => Language::getSupportedLanguages(),
|
||||||
|
@ -73,7 +73,6 @@ class InitSettingsController extends Controller {
|
|||||||
'imap-user' => Controller::request('imap-user'),
|
'imap-user' => Controller::request('imap-user'),
|
||||||
'imap-pass' => Controller::request('imap-pass'),
|
'imap-pass' => Controller::request('imap-pass'),
|
||||||
'smtp-host' => Controller::request('smtp-host'),
|
'smtp-host' => Controller::request('smtp-host'),
|
||||||
'smtp-port' => Controller::request('smtp-port'),
|
|
||||||
'smtp-user' => Controller::request('smtp-user'),
|
'smtp-user' => Controller::request('smtp-user'),
|
||||||
'smtp-pass' => Controller::request('smtp-pass'),
|
'smtp-pass' => Controller::request('smtp-pass'),
|
||||||
'time-zone' => 0,
|
'time-zone' => 0,
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
use Respect\Validation\Validator as DataValidator;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {post} /system/test-imap Test IMAP Connection
|
* @api {post} /system/test-imap Test IMAP Connection
|
||||||
@ -17,14 +16,14 @@ use Respect\Validation\Validator as DataValidator;
|
|||||||
* @apiParam {String} imap-user User for the IMAP server.
|
* @apiParam {String} imap-user User for the IMAP server.
|
||||||
* @apiParam {String} imap-pass Password for the IMAP server.
|
* @apiParam {String} imap-pass Password for the IMAP server.
|
||||||
*
|
*
|
||||||
* @apiUse SMTP_CONNECTION
|
* @apiUse IMAP_CONNECTION
|
||||||
*
|
*
|
||||||
* @apiSuccess {Object} data Empty object
|
* @apiSuccess {Object} data Empty object
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class TestSMTPController extends Controller {
|
class TestIMAPController extends Controller {
|
||||||
const PATH = '/test-smtp';
|
const PATH = '/test-imap';
|
||||||
const METHOD = 'POST';
|
const METHOD = 'POST';
|
||||||
|
|
||||||
public function validations() {
|
public function validations() {
|
||||||
|
@ -39,7 +39,6 @@ class TestSMTPController extends Controller {
|
|||||||
$mailSender = MailSender::getInstance();
|
$mailSender = MailSender::getInstance();
|
||||||
$mailSender->setConnectionSettings(
|
$mailSender->setConnectionSettings(
|
||||||
Controller::request('smtp-host'),
|
Controller::request('smtp-host'),
|
||||||
Controller::request('smtp-port'),
|
|
||||||
Controller::request('smtp-user'),
|
Controller::request('smtp-user'),
|
||||||
Controller::request('smtp-pass'),
|
Controller::request('smtp-pass'),
|
||||||
''
|
''
|
||||||
|
@ -155,6 +155,7 @@ class CommentController extends Controller {
|
|||||||
'name' => $name,
|
'name' => $name,
|
||||||
'title' => $this->ticket->title,
|
'title' => $this->ticket->title,
|
||||||
'ticketNumber' => $this->ticket->ticketNumber,
|
'ticketNumber' => $this->ticket->ticketNumber,
|
||||||
|
'content' => $this->content,
|
||||||
'url' => $url
|
'url' => $url
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
@ -340,7 +340,13 @@
|
|||||||
<table cellpadding="0" cellspacing="0" width="100%">
|
<table cellpadding="0" cellspacing="0" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding-bottom: 30px;">
|
<td style="padding-bottom: 30px;">
|
||||||
{{TICKET_RESPONDED_MATCH_3}}
|
{{content}}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -355,12 +361,6 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</center>
|
</center>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -8,19 +8,17 @@ class MailSender {
|
|||||||
private function __construct() {
|
private function __construct() {
|
||||||
$this->setConnectionSettings(
|
$this->setConnectionSettings(
|
||||||
Setting::getSetting('smtp-host')->getValue(),
|
Setting::getSetting('smtp-host')->getValue(),
|
||||||
Setting::getSetting('smtp-port')->getValue(),
|
|
||||||
Setting::getSetting('smtp-user')->getValue(),
|
Setting::getSetting('smtp-user')->getValue(),
|
||||||
Setting::getSetting('smtp-pass')->getValue(),
|
Setting::getSetting('smtp-pass')->getValue(),
|
||||||
Setting::getSetting('server-email')->getValue()
|
Setting::getSetting('server-email')->getValue()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setConnectionSettings($host, $port, $user, $pass, $noReplyEmail) {
|
public function setConnectionSettings($host, $user, $pass, $serverEmail) {
|
||||||
$this->mailOptions['from'] = $noReplyEmail;
|
$this->mailOptions['from'] = $serverEmail;
|
||||||
$this->mailOptions['fromName'] = 'OpenSupports';
|
$this->mailOptions['fromName'] = 'OpenSupports';
|
||||||
|
|
||||||
$this->mailOptions['smtp-host'] = $host;
|
$this->mailOptions['smtp-host'] = $host;
|
||||||
$this->mailOptions['smtp-port'] = $port;
|
|
||||||
$this->mailOptions['smtp-user'] = $user;
|
$this->mailOptions['smtp-user'] = $user;
|
||||||
$this->mailOptions['smtp-pass'] = $pass;
|
$this->mailOptions['smtp-pass'] = $pass;
|
||||||
}
|
}
|
||||||
@ -70,7 +68,6 @@ class MailSender {
|
|||||||
$this->mailerInstance->isSMTP();
|
$this->mailerInstance->isSMTP();
|
||||||
$this->mailerInstance->SMTPAuth = true;
|
$this->mailerInstance->SMTPAuth = true;
|
||||||
$this->mailerInstance->Host = $this->mailOptions['smtp-host'];
|
$this->mailerInstance->Host = $this->mailOptions['smtp-host'];
|
||||||
$this->mailerInstance->Port = $this->mailOptions['smtp-port'];
|
|
||||||
$this->mailerInstance->Username = $this->mailOptions['smtp-user'];
|
$this->mailerInstance->Username = $this->mailOptions['smtp-user'];
|
||||||
$this->mailerInstance->Password = $this->mailOptions['smtp-pass'];
|
$this->mailerInstance->Password = $this->mailOptions['smtp-pass'];
|
||||||
$this->mailerInstance->Timeout = 1000;
|
$this->mailerInstance->Timeout = 1000;
|
||||||
|
@ -3,3 +3,4 @@ gem 'mysql'
|
|||||||
gem 'bacon'
|
gem 'bacon'
|
||||||
gem 'mechanize'
|
gem 'mechanize'
|
||||||
gem 'mailfactory'
|
gem 'mailfactory'
|
||||||
|
gem 'mail'
|
||||||
|
105
tests/init.rb
105
tests/init.rb
@ -1,63 +1,66 @@
|
|||||||
# LIBRARIES
|
# LIBRARIES
|
||||||
require 'bacon'
|
require 'bacon'
|
||||||
require 'net/http'
|
require 'net/http'
|
||||||
|
require 'net/imap'
|
||||||
|
require 'net/smtp'
|
||||||
require 'uri'
|
require 'uri'
|
||||||
require 'mysql'
|
require 'mysql'
|
||||||
require 'json'
|
require 'json'
|
||||||
require 'mechanize'
|
require 'mechanize'
|
||||||
require 'mailfactory'
|
require 'mailfactory'
|
||||||
|
require 'mail'
|
||||||
require './libs.rb'
|
require './libs.rb'
|
||||||
require './scripts.rb'
|
require './scripts.rb'
|
||||||
|
|
||||||
# TESTS
|
# TESTS
|
||||||
# require './system/init-settings.rb'
|
require './system/init-settings.rb'
|
||||||
# require './system/get-settings.rb'
|
require './system/get-settings.rb'
|
||||||
# require './system/edit-settings.rb'
|
require './system/edit-settings.rb'
|
||||||
# require './user/signup.rb'
|
require './user/signup.rb'
|
||||||
# require './user/login.rb'
|
require './user/login.rb'
|
||||||
# require './user/send-recover-password.rb'
|
require './user/send-recover-password.rb'
|
||||||
# require './user/recover-password.rb'
|
require './user/recover-password.rb'
|
||||||
# require './user/edit-password.rb'
|
require './user/edit-password.rb'
|
||||||
# require './user/edit-email.rb'
|
require './user/edit-email.rb'
|
||||||
# require './user/get.rb'
|
require './user/get.rb'
|
||||||
# require './user/enable-disable.rb'
|
require './user/enable-disable.rb'
|
||||||
# require './ticket/create.rb'
|
require './ticket/create.rb'
|
||||||
# require './ticket/comment.rb'
|
require './ticket/comment.rb'
|
||||||
# require './ticket/get.rb'
|
require './ticket/get.rb'
|
||||||
# require './ticket/custom-response.rb'
|
require './ticket/custom-response.rb'
|
||||||
# require './ticket/change-department.rb'
|
require './ticket/change-department.rb'
|
||||||
# require './ticket/close.rb'
|
require './ticket/close.rb'
|
||||||
# require './ticket/re-open.rb'
|
require './ticket/re-open.rb'
|
||||||
# require './ticket/delete.rb'
|
require './ticket/delete.rb'
|
||||||
# require './staff/add.rb'
|
require './staff/add.rb'
|
||||||
# require './staff/get.rb'
|
require './staff/get.rb'
|
||||||
# require './staff/edit.rb'
|
require './staff/edit.rb'
|
||||||
# require './staff/delete.rb'
|
require './staff/delete.rb'
|
||||||
# require './staff/assign-ticket.rb'
|
require './staff/assign-ticket.rb'
|
||||||
# require './staff/un-assign-ticket.rb'
|
require './staff/un-assign-ticket.rb'
|
||||||
# require './staff/get-tickets.rb'
|
require './staff/get-tickets.rb'
|
||||||
# require './ticket/change-priority.rb'
|
require './ticket/change-priority.rb'
|
||||||
# require './staff/get-new-tickets.rb'
|
require './staff/get-new-tickets.rb'
|
||||||
# require './staff/get-all-tickets.rb'
|
require './staff/get-all-tickets.rb'
|
||||||
# require './ticket/events.rb'
|
require './ticket/events.rb'
|
||||||
# require './article/topic.rb'
|
require './article/topic.rb'
|
||||||
# require './article/article.rb'
|
require './article/article.rb'
|
||||||
# require './user/get-user.rb'
|
require './user/get-user.rb'
|
||||||
# require './user/ban.rb'
|
require './user/ban.rb'
|
||||||
# require './user/get-users-test.rb'
|
require './user/get-users-test.rb'
|
||||||
# require './user/delete.rb'
|
require './user/delete.rb'
|
||||||
# require './staff/get-all.rb'
|
require './staff/get-all.rb'
|
||||||
# require './system/add-department.rb'
|
require './system/add-department.rb'
|
||||||
# require './system/edit-department.rb'
|
require './system/edit-department.rb'
|
||||||
# require './system/delete-department.rb'
|
require './system/delete-department.rb'
|
||||||
# require './staff/last-events.rb'
|
require './staff/last-events.rb'
|
||||||
# require './system/mail-templates.rb'
|
require './system/mail-templates.rb'
|
||||||
# require './system/disable-registration.rb'
|
require './system/disable-registration.rb'
|
||||||
# require './system/enable-registration.rb'
|
require './system/enable-registration.rb'
|
||||||
# require './system/add-api-key.rb'
|
require './system/add-api-key.rb'
|
||||||
# require './system/delete-api-key.rb'
|
require './system/delete-api-key.rb'
|
||||||
# require './system/get-api-keys.rb'
|
require './system/get-api-keys.rb'
|
||||||
# require './system/file-upload-download.rb'
|
require './system/file-upload-download.rb'
|
||||||
# require './system/csv-import.rb'
|
require './system/csv-import.rb'
|
||||||
# require './system/disable-user-system.rb'
|
require './system/disable-user-system.rb'
|
||||||
# require './system/get-stats.rb'
|
require './system/get-stats.rb'
|
||||||
|
@ -63,13 +63,13 @@ class MailServer
|
|||||||
@client_user = ENV['OPENSUPPORTS_EMAIL_CLIENT_USERNAME']
|
@client_user = ENV['OPENSUPPORTS_EMAIL_CLIENT_USERNAME']
|
||||||
@client_password = ENV['OPENSUPPORTS_EMAIL_CLIENT_PASSWORD']
|
@client_password = ENV['OPENSUPPORTS_EMAIL_CLIENT_PASSWORD']
|
||||||
|
|
||||||
@admin_imap = Net::IMAP.new(@imap_server, @imap_port, true)
|
@admin_imap = Net::IMAP.new(@imap_server, {port: @imap_port})
|
||||||
@client_imap = Net::IMAP.new(@imap_server, @imap_port, true)
|
@client_imap = Net::IMAP.new(@imap_server, {port: @imap_port})
|
||||||
|
|
||||||
@admin_imap.login(@admin_user, @admin_password)
|
@admin_imap.authenticate('LOGIN', @admin_user, @admin_password)
|
||||||
@client_imap.login(@client_user, @client_password)
|
@client_imap.authenticate('LOGIN', @client_user, @client_password)
|
||||||
|
|
||||||
@client_smtp = Net::SMTP.new(@smtp_server, @smtp_port).start(user=@client_user, secret=@client_password)
|
@client_stmp = Net::SMTP.start(@smtp_server, @smtp_port, @smtp_server, @client_user, @client_password, :plain)
|
||||||
end
|
end
|
||||||
|
|
||||||
def clear_mails
|
def clear_mails
|
||||||
@ -78,34 +78,72 @@ class MailServer
|
|||||||
end
|
end
|
||||||
|
|
||||||
def clear_admin_mails
|
def clear_admin_mails
|
||||||
@admin_imap.delete('INBOX')
|
@admin_imap.examine('INBOX')
|
||||||
|
puts @admin_imap.list("", "*")
|
||||||
|
|
||||||
|
@admin_imap.store(2, "+FLAGS", [:Deleted])
|
||||||
|
@admin_imap.uid_search(['NOT','DELETED']).each do |uid|
|
||||||
|
puts "deleteing #{uid}"
|
||||||
|
@admin_imap.uid_copy(uid, "INBOX.Trash")
|
||||||
|
@admin_imap.uid_store(uid, "+FLAGS", [:Deleted])
|
||||||
|
puts @admin_imap.uid_fetch(uid, ['FLAGS', 'UID'])[0]
|
||||||
|
end
|
||||||
|
|
||||||
|
puts @admin_imap.expunge
|
||||||
|
@admin_imap.logout
|
||||||
|
@admin_imap.disconnect
|
||||||
end
|
end
|
||||||
|
|
||||||
def clear_client_mails
|
def clear_client_mails
|
||||||
@client_imap.delete('INBOX')
|
@client_imap.examine('INBOX')
|
||||||
|
|
||||||
|
@client_imap.search(['NOT','DELETED']).each do |message_id|
|
||||||
|
@client_imap.copy(message_id, "INBOX.Trash")
|
||||||
|
@client_imap.store(message_id, "+FLAGS", [:Deleted])
|
||||||
|
end
|
||||||
|
|
||||||
|
@client_imap.expunge
|
||||||
end
|
end
|
||||||
|
|
||||||
def send_mail(subject, text, file = nil)
|
def send_mail(subject, text, file = nil)
|
||||||
message = MailFactory.new
|
# message = MailFactory.new
|
||||||
message.to = @admin_user
|
# message.to = @admin_user
|
||||||
message.from = @client_user
|
# message.from = @client_user
|
||||||
message.subject = subject
|
# message.subject = subject
|
||||||
message.html = text
|
# message.html = text
|
||||||
|
message = <<MESSAGE_END
|
||||||
|
From: Client <#{@client_user}>
|
||||||
|
To: Support <#{@admin_user}>
|
||||||
|
Subject: #{subject}
|
||||||
|
|
||||||
unless file.nil?
|
#{text}
|
||||||
message.attach(file)
|
MESSAGE_END
|
||||||
|
|
||||||
|
# unless file.nil?
|
||||||
|
# message.attach(file)
|
||||||
|
# end
|
||||||
|
|
||||||
|
@client_stmp.send_message(message, @client_user, @admin_user)
|
||||||
end
|
end
|
||||||
|
|
||||||
@client_smtp.send_message(message.to_s, @client_user, @admin_user)
|
def check
|
||||||
Net::SMTP.start(@smtp_server, @smtp_port, @smtp_server, @client_user, @client_password) { |smtp|
|
puts 'checking...'
|
||||||
smtp.send_message(message.to_s, @client_user, @admin_user)
|
@admin_imap.examine('INBOX')
|
||||||
}
|
@admin_imap.search(['NOT','DELETED']).each do |message_id|
|
||||||
|
envelope = @admin_imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
|
||||||
|
# puts "#{envelope.from[0].name}: \t#{envelope.subject}"
|
||||||
|
puts envelope.subject
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
$mail_server = MailServer.new
|
# $mail_server = MailServer.new
|
||||||
$database = Database.new
|
$database = Database.new
|
||||||
|
|
||||||
|
# $mail_server.clear_mails
|
||||||
|
# $mail_server.send_mail('suppport message 1', 'texttexttext tex')
|
||||||
|
# $mail_server.check
|
||||||
|
|
||||||
$staff = {
|
$staff = {
|
||||||
:email => 'staff@opensupports.com',
|
:email => 'staff@opensupports.com',
|
||||||
:password => 'staff'
|
:password => 'staff'
|
||||||
|
@ -18,13 +18,11 @@ describe '/system/init-settings' do
|
|||||||
'registration' => true,
|
'registration' => true,
|
||||||
'title' => 'Support Center',
|
'title' => 'Support Center',
|
||||||
'imap-host' => '{imap.dreamhost.com:993/imap/ssl}INBOX',
|
'imap-host' => '{imap.dreamhost.com:993/imap/ssl}INBOX',
|
||||||
'imap-user' => "support@opensupports.com",
|
|
||||||
'imap-pass' => "gotaxc22",
|
|
||||||
'imap-user' => 'support@opensupports.com',
|
'imap-user' => 'support@opensupports.com',
|
||||||
'imap-pass' => '',
|
'imap-pass' => 'password',
|
||||||
'smtp-host' => 'localhost',
|
'smtp-host' => 'localhost:7070',
|
||||||
'smtp-port' => 7070,
|
|
||||||
'smtp-user' => 'support@opensupports.com',
|
'smtp-user' => 'support@opensupports.com',
|
||||||
|
'smtp-pass' => 'password',
|
||||||
'smtp-password' => '',
|
'smtp-password' => '',
|
||||||
'server-email' => 'support@opensupports.com',
|
'server-email' => 'support@opensupports.com',
|
||||||
'language' => 'en'
|
'language' => 'en'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user