Skip to content
Snippets Groups Projects
Commit 8c2821b2 authored by Chif Gergő's avatar Chif Gergő
Browse files

Merge branch 'style' into audit

parents 0d3b3db3 61fda9b7
No related branches found
No related tags found
No related merge requests found
import axios from './session';
import { GET_USERDATA, PROFILE_CHANGE, GROUP_CHANGE } from './types';
import { showMessage } from './messages';
export const getUserData = () => (
async (dispatch) => {
......@@ -59,7 +59,7 @@ export const groupChange = groups => (
export const submitRegistration = ({
nick, groups, signed, motivationAbout, motivationProfession, motivationExercise, id,
}) => (
async () => {
async (dispatch) => {
try {
const response = await axios.patch(`/api/v1/profiles/${id}/`, {
nick,
......@@ -70,12 +70,12 @@ export const submitRegistration = ({
motivation_exercise: motivationExercise,
});
if (response.data.id === id) {
alert('Sikeres mentés!');
dispatch(showMessage('Sikeres mentés!', 'success'));
} else {
alert('Mentés nem sikerült!');
dispatch(showMessage('A mentés nem sikerült!', 'error'));
}
} catch (e) {
console.log(e);
dispatch(showMessage('A mentés nem sikerült!', 'error'));
}
}
);
import { SHOW_MESSAGE, DISMISS_MESSAGE } from '../actions/types';
export const dismissMessage = () => (
(dispatch) => {
dispatch({ type: DISMISS_MESSAGE });
}
);
export const showMessage = (text, messageType) => (
{ type: SHOW_MESSAGE, messageType, text }
);
import axios from './session';
import { GET_NEWS, WRITE_NEWS, ADD_NEWS, DELETE_NEWS,
CLEAR_WRITE, SELECT_NEWS, EDIT_NEWS } from './types';
CLEAR_WRITE, SELECT_NEWS, EDIT_NEWS, SHOW_MESSAGE } from './types';
import { showMessage } from './messages';
export const getNews = () => (
async (dispatch) => {
......@@ -25,16 +26,16 @@ export const postNews = ({ title, author, text }) => (
text,
});
if (response.data.id) {
alert('Sikeres mentés!');
dispatch({
type: ADD_NEWS,
payload: response.data,
});
dispatch(showMessage('Hír hozzádva!', 'success'));
} else {
alert('Mentés nem sikerült!');
dispatch(showMessage('Nem sikerült a hírt hozáadni!', 'error'));
}
} catch (e) {
console.log(e);
dispatch(showMessage('Nem sikerült a hírt hozáadni!', 'error'));
}
}
);
......@@ -48,17 +49,17 @@ export const editNews = ({ id, title, editedBy, text }) => (
text,
});
if (response.data.id) {
alert('Sikeres mentés!');
dispatch(showMessage('Hír módosítva!', 'success'));
dispatch({
type: EDIT_NEWS,
payload: response.data,
});
} else {
alert('Mentés nem sikerült!');
dispatch(showMessage('Nem sikerült a módosítás', 'error'));
}
} catch (e) {
console.log(e);
dispatch(showMessage('Nem sikerült a módosítás', 'error'));
}
}
);
......@@ -68,16 +69,16 @@ export const deleteNews = news => (
try {
const response = await axios.delete(`/api/v1/news/${news.id}/`);
if (!response.data.id) {
alert('Sikeres törlés!');
dispatch(showMessage('Sikeres törlés!', 'success'));
dispatch({
type: DELETE_NEWS,
payload: news,
});
} else {
alert('A törlés nem sikerült!');
dispatch(showMessage('A törlés nem sikerült!', 'error'));
}
} catch (e) {
console.log(e);
dispatch(showMessage('A törlés nem sikerült!', 'error'));
}
});
......
......@@ -8,6 +8,7 @@ import {
GET_NOTES_BY_PROFILE,
ADD_PROFILE_NOTE,
} from './types';
import { showMessage } from './messages';
export const getNotesByEvent = id => (
async (dispatch) => {
......@@ -50,7 +51,7 @@ export const postNote = ({ eventid, userid, note }) => (
note,
});
if (response.data.id) {
alert('Sikeres mentés!');
dispatch(showMessage('A megjegyzés hozzáadva!', 'success'));
if (eventid) {
dispatch({
type: ADD_EVENT_NOTE,
......@@ -65,7 +66,7 @@ export const postNote = ({ eventid, userid, note }) => (
}
}
} catch (e) {
console.log(e);
dispatch(showMessage('A hozzáadás nem sikerült!', 'error'));
}
});
......@@ -80,13 +81,13 @@ export const deleteNote = note => (
try {
const response = await axios.delete(`/api/v1/notes/${note.id}/`);
if (!response.data.id) {
alert('Sikeres törlés!');
dispatch(showMessage('Sikeres törlés!', 'success'));
dispatch({
type: DELETE_NOTE,
payload: note,
});
} else {
alert('A törlés nem sikerült!');
dispatch(showMessage('A törlés nem sikerült!', 'error'));
}
} catch (e) {
console.log(e);
......
......@@ -16,6 +16,7 @@ import {
WRITE_EDITED_EVENT,
SELECT_EVENT_FOR_EDIT,
} from './types';
import { showMessage } from './messages';
export const getStaffEvents = () => (
async (dispatch) => {
......@@ -86,17 +87,17 @@ export const visitorChange = ({ id, value }) => {
};
export const submitVisitors = ({ id, visitors, absent }) => (
async () => {
async (dispatch) => {
try {
const response = await axios.patch(`/api/v1/staff_events/${id}/`, {
visitors,
absent,
});
if (response.data.id) {
alert('Sikeres mentés!');
dispatch(showMessage('Sikeres változtatás!', 'success'));
}
} catch (e) {
console.log(e);
dispatch(showMessage('Nem sikerült a változtatás!', 'error'));
}
}
);
......@@ -128,14 +129,14 @@ export const editEvent = ({ id, name, description, date }) => (
date,
});
if (response.data.id) {
alert('Sikeres mentés!');
dispatch(showMessage('Az alkalom módosítva!', 'success'));
dispatch({
type: EDIT_EVENT,
payload: response.data,
});
} else {
alert('Mentés nem sikerült!');
dispatch(showMessage('A módosítás nem sikerült!', 'error'));
}
} catch (e) {
console.log(e);
......@@ -153,13 +154,13 @@ export const addEvent = ({ name, date, description }) => (
absent: [],
});
if (response.data.id) {
alert('Sikeres mentés!');
dispatch(showMessage('Az alkalom hozzáadva!', 'success'));
dispatch({
type: ADD_EVENT,
payload: response.data,
});
} else {
alert('Mentés nem sikerült!');
dispatch(showMessage('A hozzáadás nem sikerült!', 'error'));
}
} catch (e) {
console.log(e);
......@@ -172,13 +173,13 @@ export const deleteEvent = event => (
try {
const response = await axios.delete(`/api/v1/staff_events/${event.id}/`);
if (!response.data.id) {
alert('Sikeres törlés!');
dispatch(showMessage('Az alkalom törölve!', 'success'));
dispatch({
type: DELETE_EVENT,
payload: event,
});
} else {
alert('A törlés nem sikerült!');
dispatch(showMessage('A törlés nem sikerült!', 'error'));
}
} catch (e) {
console.log(e);
......@@ -206,11 +207,15 @@ export const setStatus = (id, status) => (
role: status,
});
if (response.data.id) {
dispatch(showMessage('Státusz megváltoztatva!', 'success'));
dispatch({
type: SET_STATUS,
payload: response.data,
});
}
else {
dispatch(showMessage('A változtatás nem sikerült!', 'error'));
}
} catch (e) {
console.log(e);
}
......
......@@ -53,3 +53,6 @@ export const GET_NOTES_BY_PROFILE = 'get_notes_by_profile';
export const GET_PROFILES = 'get_profiles';
export const SET_STATUS = 'set_status';
export const GET_SELECTED_PROFILE = 'get_selected_profile';
export const SHOW_MESSAGE = 'show_message';
export const DISMISS_MESSAGE = 'dismiss_message';
import React, { Component } from 'react';
import { Message, Container } from 'semantic-ui-react';
import { connect } from 'react-redux';
import { dismissMessage } from '../actions/messages';
const messages = [
{
type: 'success',
icon: 'thumbs up',
title: 'Sikeres művelet',
success: true,
warning: false,
error: false,
},
{
type: 'warning',
icon: 'warning',
title: 'Figyelmeztetés',
success: false,
warning: true,
error: false,
},
{
type: 'error',
icon: 'times circle',
title: 'Sikertelen művelet',
success: false,
warning: false,
error: true,
},
];
class AlertMessage extends Component {
constructor (props) {
super(props);
this.state = {
timeout: null,
}
}
componentWillReceiveProps() {
clearTimeout(this.state.timeout);
const time = setTimeout(() => {
this.props.dismissMessage();
}, 4000);
this.setState({ timeout: time });
}
render() {
const { visible, messageType, text } = this.props.message;
const messageProps = messages.find(item => item.type === messageType);
return (
<Container style={{ margin: '1.5em', paddingLeft: '1.5em' }}>
{ messageProps ?
<Message
icon={messageProps.icon}
visible={visible}
header={messageProps.title}
content={text}
positive={messageProps.success}
warning={messageProps.warning}
negative={messageProps.error}
/>
:
null
}
</Container>
);
}
}
const mapStateToProps = ({ message }) => ({
message
});
export default connect(mapStateToProps, { dismissMessage })(AlertMessage)
......@@ -2,11 +2,13 @@ import React from 'react';
import Header from './Header';
import Main from './Main';
import Footer from './Footer';
import AlertMessage from './AlertMessage';
const App = () => (
<div style={{ minHeight: '100%', position: 'relative' }}>
<Header className='header'>
<main id='main' style={{ minHeight: '100%', position: 'relative' }}>
<AlertMessage />
<Main />
</main>
</Header>
......
import { SHOW_MESSAGE, DISMISS_MESSAGE } from '../actions/types';
const INITIAL_STATE = {};
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case SHOW_MESSAGE:
return { text: action.text, messageType: action.messageType, visible: true };
case DISMISS_MESSAGE:
return { text: '', type: '', visible: false };
default:
return state;
}
};
......@@ -11,6 +11,7 @@ import NoteReducer from './NoteReducer';
import TraineeReducer from './TraineeReducer';
import CorrectSolutionReducer from './CorrectSolutionReducer';
import EditTaskReducer from './EditTaskReducer';
import MessageReducer from './MessageReducer';
const rootReducer = combineReducers({
user: UserReducer,
......@@ -25,6 +26,7 @@ const rootReducer = combineReducers({
newTask: AddTaskReducer,
newSolution: AddSolutionReducer,
correction: CorrectSolutionReducer,
message: MessageReducer,
});
export default rootReducer;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment