This commit is contained in:
Maxi Redigonda 2018-01-17 00:54:52 -03:00
commit e088114b17
11 changed files with 27 additions and 20 deletions

View File

@ -1,6 +1,6 @@
![OpenSupports](http://www.opensupports.com/logo.png) ![OpenSupports](http://www.opensupports.com/logo.png)
[![Build Status](https://travis-ci.org/opensupports/opensupports.svg?branch=master)](https://travis-ci.org/opensupports/opensupports) v4.1.1 [![Build Status](https://travis-ci.org/opensupports/opensupports.svg?branch=master)](https://travis-ci.org/opensupports/opensupports) v4.1.2
OpenSupports is an open source ticket system built primarily with PHP and ReactJS. OpenSupports is an open source ticket system built primarily with PHP and ReactJS.
Please, visit our website for more information: [http://www.opensupports.com/](http://www.opensupports.com/) Please, visit our website for more information: [http://www.opensupports.com/](http://www.opensupports.com/)

View File

@ -1,6 +1,6 @@
{ {
"name": "OpenSupports", "name": "OpenSupports",
"version": "4.1.1", "version": "4.1.2",
"author": "Ivan Diaz <contact@opensupports.com>", "author": "Ivan Diaz <contact@opensupports.com>",
"description": "Open source ticket system made with PHP and ReactJS", "description": "Open source ticket system made with PHP and ReactJS",
"repository": { "repository": {

View File

@ -30,7 +30,6 @@ class InstallStep4UserSystem extends React.Component {
<FormField name="registration" label={i18n('ENABLE_USER_REGISTRATION')} decorator={ToggleButton} fieldProps={{disabled: this.isDisabled()}}/> <FormField name="registration" label={i18n('ENABLE_USER_REGISTRATION')} decorator={ToggleButton} fieldProps={{disabled: this.isDisabled()}}/>
<div className="install-step-4__buttons"> <div className="install-step-4__buttons">
<SubmitButton className="install-step-4__next" size="medium" type="secondary">{i18n('NEXT')}</SubmitButton> <SubmitButton className="install-step-4__next" size="medium" type="secondary">{i18n('NEXT')}</SubmitButton>
<Button className="install-step-4__previous" size="medium" onClick={this.onPreviousClick.bind(this)}>{i18n('PREVIOUS')}</Button>
</div> </div>
</Form> </Form>
</div> </div>
@ -46,17 +45,12 @@ class InstallStep4UserSystem extends React.Component {
}); });
} }
onPreviousClick(event) {
event.preventDefault();
history.push('/install/step-3');
}
onSubmit(form) { onSubmit(form) {
this.props.dispatch(ConfigActions.updateUserSystemSettings({ this.props.dispatch(ConfigActions.updateUserSystemSettings({
'user-system-enabled': form['user-system-enabled'] * 1, 'user-system-enabled': form['user-system-enabled'] * 1,
'registration': form['registration'] * 1 'registration': form['registration'] * 1
})); }));
history.push('/install/step-5'); history.push('/install/step-5');
} }
@ -69,4 +63,4 @@ export default connect((store) => {
return { return {
language: store.config.language language: store.config.language
}; };
})(InstallStep4UserSystem); })(InstallStep4UserSystem);

View File

@ -30,7 +30,9 @@ class CheckRequirementsController extends Controller {
} }
public function handler() { public function handler() {
$configWritable = !!fopen('config.php', 'w+'); if(InstallationDoneController::isInstallationDone()) {
throw new Exception(ERRORS::INIT_SETTINGS_DONE);
}
Response::respondSuccess([ Response::respondSuccess([
'phpVersion' => [ 'phpVersion' => [
@ -50,8 +52,8 @@ class CheckRequirementsController extends Controller {
], ],
'files' => [ 'files' => [
'name' => 'Folder: /api/files', 'name' => 'Folder: /api/files',
'value' => $configWritable ? 'Writable' : 'Not writable', 'value' => is_writable('files') ? 'Writable' : 'Not writable',
'ok' => $configWritable 'ok' => is_writable('files')
] ]
]); ]);
} }
@ -64,4 +66,4 @@ class CheckRequirementsController extends Controller {
else if($currentVersion[0] < $requiredVersion[0]) return false; else if($currentVersion[0] < $requiredVersion[0]) return false;
else return $currentVersion[1] >= $requiredVersion[1]; else return $currentVersion[1] >= $requiredVersion[1];
} }
} }

View File

@ -48,9 +48,7 @@ class InitDatabaseController extends Controller {
$dbUser = Controller::request('dbUser'); $dbUser = Controller::request('dbUser');
$dbPass = Controller::request('dbPassword'); $dbPass = Controller::request('dbPassword');
if(!defined('MYSQL_HOST')) { RedBean::setup('mysql:host=' . $dbHost, $dbUser, $dbPass);
RedBean::setup('mysql:host=' . $dbHost, $dbUser, $dbPass);
}
if($dbName) { if($dbName) {
RedBean::addDatabase($dbName, 'mysql:host='. $dbHost . ';dbname=' . $dbName, $dbUser, $dbPass); RedBean::addDatabase($dbName, 'mysql:host='. $dbHost . ';dbname=' . $dbName, $dbUser, $dbPass);
@ -81,4 +79,4 @@ class InitDatabaseController extends Controller {
fclose($configFile); fclose($configFile);
Response::respondSuccess(); Response::respondSuccess();
} }
} }

View File

@ -1,4 +1,17 @@
describe '/system/init-settings' do describe '/system/init-settings' do
it 'should prevent initing database if already called' do
result = request('/system/init-database', {})
(result['status']).should.equal('fail')
(result['message']).should.equal('INIT_SETTINGS_DONE')
result = request('/system/check-requirements', {})
(result['status']).should.equal('success')
result = request('/system/init-database', {})
(result['status']).should.equal('fail')
(result['message']).should.equal('INIT_SETTINGS_DONE')
end
it 'should initialize correctly' do it 'should initialize correctly' do
result = request('/system/init-settings', { result = request('/system/init-settings', {
'user-system-enabled' => true, 'user-system-enabled' => true,
@ -25,4 +38,4 @@ describe '/system/init-settings' do
(result['status']).should.equal('success') (result['status']).should.equal('success')
end end
end end

View File

@ -1,5 +1,5 @@
<?php <?php
require_once '../../server/vendor/autoload.php'; require_once '../../api/vendor/autoload.php';
class MailSender { class MailSender {