From 1ca57e1b769fe3e8dc341102a1ad9780bc1922ad Mon Sep 17 00:00:00 2001 From: Ivan Diaz Date: Tue, 10 Jan 2017 17:07:49 -0300 Subject: [PATCH] Ivan - Add deploy on dev 3 changes and fixes [skip ci] --- .../src/app-components/language-selector.js | 2 +- client/src/app/App.js | 4 +- .../admin/panel/dashboard/activity-list.js | 90 ------------------- .../admin/panel/dashboard/activity-list.scss | 0 .../panel/dashboard/admin-panel-activity.js | 2 +- .../admin-panel-system-preferences.js | 4 + client/src/app/main/main-layout-header.js | 1 + client/src/app/main/main-verify-token-page.js | 2 +- client/src/core-components/form-field.js | 4 +- client/src/data/languages/en.js | 1 + server/controllers/system/get-logs.php | 2 +- .../data/mail-templates/user-signup-en.html | 3 +- .../data/mail-templates/user-signup-es.html | 3 +- server/libs/validations/validLanguage.php | 9 +- server/models/Language.php | 2 +- tests/system/edit-settings.rb | 16 ++-- tests/system/get-settings.rb | 2 +- tests/user/get.rb | 1 - 18 files changed, 29 insertions(+), 119 deletions(-) delete mode 100644 client/src/app/admin/panel/dashboard/activity-list.js delete mode 100644 client/src/app/admin/panel/dashboard/activity-list.scss diff --git a/client/src/app-components/language-selector.js b/client/src/app-components/language-selector.js index cacb0d8e..741ce176 100644 --- a/client/src/app-components/language-selector.js +++ b/client/src/app-components/language-selector.js @@ -82,7 +82,7 @@ class LanguageSelector extends React.Component { case 'supported': return this.props.supportedLanguages; case 'allowed': - return this.props.supportedLanguages; + return this.props.allowedLanguages; case 'custom': return this.props.customList; } diff --git a/client/src/app/App.js b/client/src/app/App.js index 23da32fe..d52ea248 100644 --- a/client/src/app/App.js +++ b/client/src/app/App.js @@ -60,11 +60,11 @@ class App extends React.Component { loggedOutStaff: _.includes(props.location.pathname, '/admin/panel') && !props.session.logged }; - if(props.config['maintenance-mode'] && !_.includes(props.location.pathname, '/admin') && !_.includes(props.location.pathname, '/maintenance')) { + if(props.config['maintenance-mode'] === '1' && !_.includes(props.location.pathname, '/admin') && !_.includes(props.location.pathname, '/maintenance')) { browserHistory.push('/maintenance'); } - if(!props.config['maintenance-mode'] && _.includes(props.location.pathname, '/maintenance')) { + if(props.config['maintenance-mode'] === '0' && _.includes(props.location.pathname, '/maintenance')) { browserHistory.push('/'); } diff --git a/client/src/app/admin/panel/dashboard/activity-list.js b/client/src/app/admin/panel/dashboard/activity-list.js deleted file mode 100644 index 9a125793..00000000 --- a/client/src/app/admin/panel/dashboard/activity-list.js +++ /dev/null @@ -1,90 +0,0 @@ -import React from 'react'; - -import API from 'lib-app/api-call'; -import i18n from 'lib-app/i18n'; - -import ActivityRow from 'app-components/activity-row'; -import SubmitButton from 'core-components/submit-button'; - -class ActivityList extends React.Component { - - static propTypes = { - mode: React.PropTypes.oneOf(['staff', 'system']) - }; - - static childContextTypes = { - loading: React.PropTypes.bool - }; - - getChildContext() { - return { - loading: this.state.loading - }; - } - - state = { - activities: [], - page: 1, - limit: false, - loading: false - }; - - componentDidMount() { - this.retrieveNextPage(); - } - - render() { - if (this.props.mode === 'staff') { - return ( -
- {this.state.activities.map(this.renderRow.bind(this))} - {(!this.state.limit) ? this.renderButton() : null} -
- ); - } - else { - return ( -
- {this.state.activities.map(this.renderRow.bind(this))} - {(!this.state.limit) ? this.renderButton() : null} -
- ); - } - } - - renderButton() { - return ( - - {i18n('LOAD_MORE')} - - ); - } - - renderRow(row) { - return ( - - ); - } - - retrieveNextPage() { - this.setState({loading: true}); - - API.call({ - path: '/staff/last-events', - data: { - page: this.state.page - } - }).then(this.onRetrieveSuccess.bind(this)); - } - - onRetrieveSuccess(result) { - this.setState({ - activities: this.state.activities.concat(result.data), - page: this.state.page + 1, - limit: (result.data.length !== 10), - loading: false - }); - } -} - -export default ActivityList; \ No newline at end of file diff --git a/client/src/app/admin/panel/dashboard/activity-list.scss b/client/src/app/admin/panel/dashboard/activity-list.scss deleted file mode 100644 index e69de29b..00000000 diff --git a/client/src/app/admin/panel/dashboard/admin-panel-activity.js b/client/src/app/admin/panel/dashboard/admin-panel-activity.js index 4b6539e6..251462fb 100644 --- a/client/src/app/admin/panel/dashboard/admin-panel-activity.js +++ b/client/src/app/admin/panel/dashboard/admin-panel-activity.js @@ -86,7 +86,7 @@ class AdminPanelActivity extends React.Component { onMenuItemClick(index) { this.setState({ - page: 0, + page: 1, mode: (index === 0) ? 'staff' : 'system', activities: [] }, this.retrieveNextPage.bind(this)); diff --git a/client/src/app/admin/panel/settings/admin-panel-system-preferences.js b/client/src/app/admin/panel/settings/admin-panel-system-preferences.js index dac728dc..11102db2 100644 --- a/client/src/app/admin/panel/settings/admin-panel-system-preferences.js +++ b/client/src/app/admin/panel/settings/admin-panel-system-preferences.js @@ -1,6 +1,8 @@ import React from 'react'; import _ from 'lodash'; +import store from 'app/store'; +import ConfigActions from 'actions/config-actions'; import API from 'lib-app/api-call'; import i18n from 'lib-app/i18n'; import LanguageSelector from 'app-components/language-selector'; @@ -225,6 +227,8 @@ class AdminPanelSystemPreferences extends React.Component { 'supportedLanguages': result.data.supportedLanguages.map(lang => (_.indexOf(languageKeys, lang))) } }); + + store.dispatch(ConfigActions.updateData()); } onRecoverSettingsFail() { diff --git a/client/src/app/main/main-layout-header.js b/client/src/app/main/main-layout-header.js index 3744ab66..dd031535 100644 --- a/client/src/app/main/main-layout-header.js +++ b/client/src/app/main/main-layout-header.js @@ -44,6 +44,7 @@ class MainLayoutHeader extends React.Component { return { className: 'main-layout-header__languages', value: this.props.config.language, + type: 'allowed', onChange: this.changeLanguage.bind(this) }; } diff --git a/client/src/app/main/main-verify-token-page.js b/client/src/app/main/main-verify-token-page.js index 59488b64..8218414d 100644 --- a/client/src/app/main/main-verify-token-page.js +++ b/client/src/app/main/main-verify-token-page.js @@ -11,7 +11,7 @@ class MainVerifyTokenPage extends React.Component { componentDidMount() { API.call({ - path: '/user/verify-token', + path: '/user/verify', data: { token: this.props.params.token, email: this.props.params.email diff --git a/client/src/core-components/form-field.js b/client/src/core-components/form-field.js index cbb8f091..c913e959 100644 --- a/client/src/core-components/form-field.js +++ b/client/src/core-components/form-field.js @@ -149,7 +149,7 @@ class FormField extends React.Component { onChange(nativeEvent) { let event = nativeEvent; - if (this.props.field === 'checkbox') { + if (this.props.field === 'checkbox' && !this.props.decorator) { event = { target: { value: event.target.checked @@ -157,7 +157,7 @@ class FormField extends React.Component { }; } - if (this.props.field === 'select') { + if (this.props.field === 'select' && !this.props.decorator) { event = { target: { value: event.index diff --git a/client/src/data/languages/en.js b/client/src/data/languages/en.js index b70a916d..8e69269c 100644 --- a/client/src/data/languages/en.js +++ b/client/src/data/languages/en.js @@ -237,6 +237,7 @@ export default { 'ERROR_LIST': 'Select at least one', 'ERROR_URL': 'Invalid URL', 'UNVERIFIED_EMAIL': 'Email is not verified yet', + 'ERROR_UPDATING_SETTINGS': 'An error occurred while trying to update settings', //MESSAGES 'SIGNUP_SUCCESS': 'You have registered successfully in our support system.', diff --git a/server/controllers/system/get-logs.php b/server/controllers/system/get-logs.php index 90ffd6b9..fdee9e6c 100644 --- a/server/controllers/system/get-logs.php +++ b/server/controllers/system/get-logs.php @@ -18,7 +18,7 @@ class GetLogsController extends Controller { public function handler() { $page = Controller::request('page'); - $logList = Log::find('LIMIT ? OFFSET ?', [10, 10*($page-1)+1]); + $logList = Log::find('ORDER BY id desc LIMIT ? OFFSET ?', [10, 10*($page-1)+1]); Response::respondSuccess($logList->toArray()); } diff --git a/server/data/mail-templates/user-signup-en.html b/server/data/mail-templates/user-signup-en.html index 66a0219a..d5844f64 100644 --- a/server/data/mail-templates/user-signup-en.html +++ b/server/data/mail-templates/user-signup-en.html @@ -1,5 +1,6 @@
Welcome, {{name}} to our support center, your email is {{to}}, - your token is {{verificationToken}} + you can verify your user using this link + http://dev3.opensupports.com/verify-token/{{to}}/{{verificationToken}}
diff --git a/server/data/mail-templates/user-signup-es.html b/server/data/mail-templates/user-signup-es.html index da8e2c84..7590cafd 100644 --- a/server/data/mail-templates/user-signup-es.html +++ b/server/data/mail-templates/user-signup-es.html @@ -1,5 +1,6 @@
Bienvenido, {{name}} a nuestro centro de soporte, tu email es {{to}}, - tu codigo de verificacion es {{verificationToken}} + podes verificar tu usuatio entrando en este link + http://dev3.opensupports.com/verify-token/{{to}}/{{verificationToken}}
\ No newline at end of file diff --git a/server/libs/validations/validLanguage.php b/server/libs/validations/validLanguage.php index 4578f830..c31058d8 100644 --- a/server/libs/validations/validLanguage.php +++ b/server/libs/validations/validLanguage.php @@ -6,14 +6,7 @@ use Respect\Validation\Rules\AbstractRule; class ValidLanguage extends AbstractRule { - //TODO: Use a list from database instead - private $languages = [ - 'en', - 'es', - 'de' - ]; - public function validate($ticketNumber) { - return in_array($ticketNumber, $this->languages); + return in_array($ticketNumber, \Language::LANGUAGES); } } \ No newline at end of file diff --git a/server/models/Language.php b/server/models/Language.php index c070e5ab..7a44db84 100644 --- a/server/models/Language.php +++ b/server/models/Language.php @@ -8,7 +8,7 @@ class Language extends DataStore { 'es', 'de', 'fr', - 'pr', + 'pt', 'jp', 'ru', 'cn', diff --git a/tests/system/edit-settings.rb b/tests/system/edit-settings.rb index e5df7e69..0b2b77aa 100644 --- a/tests/system/edit-settings.rb +++ b/tests/system/edit-settings.rb @@ -6,19 +6,19 @@ describe'system/edit-settings' do result= request('/system/edit-settings', { "csrf_userid" => $csrf_userid, "csrf_token" => $csrf_token, - "maintenance-mode" => 1, + "maintenance-mode" => false, "time-zone" => -3, "layout" => 'full-width', "allow-attachments" => 1, "max-size" => 2, - "language" => 'es', + "language" => 'en', "no-reply-email" => 'testemail@hotmail.com' }) (result['status']).should.equal('success') row = $database.getRow('setting', 'maintenance-mode', 'name') - (row['value']).should.equal('1') + (row['value']).should.equal('0') row = $database.getRow('setting', 'time-zone', 'name') (row['value']).should.equal('-3') @@ -30,7 +30,7 @@ describe'system/edit-settings' do (row['value']).should.equal('2') row = $database.getRow('setting', 'language', 'name') - (row['value']).should.equal('es') + (row['value']).should.equal('en') row = $database.getRow('setting', 'no-reply-email', 'name') (row['value']).should.equal('testemail@hotmail.com') @@ -44,8 +44,8 @@ describe'system/edit-settings' do result= request('/system/edit-settings', { "csrf_userid" => $csrf_userid, "csrf_token" => $csrf_token, - "supportedLanguages" => '["en", "pr", "jp", "ru"]', - "allowedLanguages" => '["en","pr", "jp", "ru", "de"]' + "supportedLanguages" => '["en", "pt", "jp", "ru"]', + "allowedLanguages" => '["en","pt", "jp", "ru", "de"]' }) (result['status']).should.equal('success') @@ -53,7 +53,7 @@ describe'system/edit-settings' do row = $database.getRow('language', 'en', 'code') (row['supported']).should.equal('1') - row = $database.getRow('language', 'pr', 'code') + row = $database.getRow('language', 'pt', 'code') (row['supported']).should.equal('1') row = $database.getRow('language', 'jp', 'code') @@ -65,7 +65,7 @@ describe'system/edit-settings' do row = $database.getRow('language', 'en', 'code') (row['allowed']).should.equal('1') - row = $database.getRow('language', 'pr', 'code') + row = $database.getRow('language', 'pt', 'code') (row['allowed']).should.equal('1') row = $database.getRow('language', 'jp', 'code') diff --git a/tests/system/get-settings.rb b/tests/system/get-settings.rb index 4a4b6a0a..65a89840 100644 --- a/tests/system/get-settings.rb +++ b/tests/system/get-settings.rb @@ -11,7 +11,7 @@ describe '/system/get-settings' do (result['data']['allowedLanguages'][1]).should.equal('es') (result['data']['allowedLanguages'][2]).should.equal('de') (result['data']['allowedLanguages'][3]).should.equal('fr') - (result['data']['allowedLanguages'][4]).should.equal('pr') + (result['data']['allowedLanguages'][4]).should.equal('pt') (result['data']['allowedLanguages'][5]).should.equal('jp') (result['data']['allowedLanguages'][6]).should.equal('ru') (result['data']['allowedLanguages'][7]).should.equal('cn') diff --git a/tests/user/get.rb b/tests/user/get.rb index aec21e2b..96030a4d 100644 --- a/tests/user/get.rb +++ b/tests/user/get.rb @@ -8,7 +8,6 @@ describe '/user/get' do content: 'A Lannister always pays his debts.', departmentId: 1, language: 'en', - language: 'en', csrf_userid: $csrf_userid, csrf_token: $csrf_token })