diff --git a/src/models/SignupForm.ts b/src/models/SignupForm.ts index 4106731..750f751 100644 --- a/src/models/SignupForm.ts +++ b/src/models/SignupForm.ts @@ -6,6 +6,7 @@ import { Question } from "@components/SignupQuestionsWidget"; export interface SignupForm { id?: number; title: string; + visible: boolean; start_time: string; end_time: string; questions: Question[]; @@ -20,9 +21,12 @@ export interface SignupForm { }; } -export async function getForms(): Promise { +export async function getForms(auth = false): Promise { try { - const resp = await axios.get(url); + const headers = auth ? { "Authorization": getAuthHeader() } : null; + const resp = await axios.get(url, { + headers + }); const { results } = resp.data; return results; } catch (err) { @@ -31,9 +35,12 @@ export async function getForms(): Promise { } } -export async function getForm(id: number): Promise { +export async function getForm(id: number, auth = false): Promise { try { - const resp = await axios.get(`${url}${id}/`); + const headers = auth ? { "Authorization": getAuthHeader() } : null; + const resp = await axios.get(`${url}${id}/`, { + headers + }); return resp.data; } catch (err) { console.error(err); diff --git a/src/pages/admin/AdminSignupPage.tsx b/src/pages/admin/AdminSignupPage.tsx index b6846f9..8fca13d 100644 --- a/src/pages/admin/AdminSignupPage.tsx +++ b/src/pages/admin/AdminSignupPage.tsx @@ -47,7 +47,7 @@ class AdminSignupPage extends React.Component { - const getSignupFormsPromise = getForms(); + const getSignupFormsPromise = getForms(true); try { const signupForms = await getSignupFormsPromise; this.setState({ diff --git a/src/pages/admin/EventCreatePage.tsx b/src/pages/admin/EventCreatePage.tsx index 8376577..d2db532 100644 --- a/src/pages/admin/EventCreatePage.tsx +++ b/src/pages/admin/EventCreatePage.tsx @@ -1,15 +1,12 @@ import React from "react"; import { Helmet } from "react-helmet"; import "./EventCreatePage.scss"; -import { isAuthenticated } from "@utils/auth"; import Form from "react-jsonschema-form"; import { Tag, getTags } from "@models/Tag"; import { SignupForm, getForms } from "@models/SignupForm"; import { createEvent, getEvent, updateEvent, Event } from "@models/Event"; import DatetimeWidget from "@components/DatetimeWidget"; import SectionDividerWidget from "@components/SectionDividerWidget"; -import Icon from "@components/Icon"; -import { IconType } from "@components/Icon/Icon"; const widgets = { datetime: DatetimeWidget, @@ -84,7 +81,7 @@ class EventCreatePage extends React.Component { try { - const signupForm = await getForms(); + const signupForm = await getForms(true); this.setState({ signupForm }) @@ -98,14 +95,10 @@ class EventCreatePage extends React.Component { - console.log("submitted, data:"); - console.log(data.formData); - const { history } = this.props; - try { const payload = data.formData; - if (payload.image.startsWith("http")) payload.image = undefined; + if (typeof payload.image === "string" && payload.image.startsWith("http")) payload.image = undefined; payload.signup_id = payload.signupForm; payload.tag_id = payload.tags; if (payload.id === undefined) { @@ -134,6 +127,7 @@ class EventCreatePage extends React.Component { console.error("error, data:"); + console.log(this.state.formData); console.log(data); } @@ -197,19 +191,21 @@ class EventCreatePage extends React.Component form.id)], - enumNames: [...signupForm.map(form => form.title)], + enum: signupForm.map(form => form.id), + enumNames: signupForm.map(form => form.title), }, uniqueItems: true, }, image: { - "type": ["string", "null"], - "format": formData.image ? "uri-reference" : "data-url", - "title": "Override tag icon with image" + type: ["string", "null"], + format: formData.image ? "uri-reference" : "data-url", + title: "Override tag icon with image", + default: undefined }, finnish_section_divider: { title: "Finnish", diff --git a/src/pages/admin/SignupCreatePage.tsx b/src/pages/admin/SignupCreatePage.tsx index fb12661..0dab641 100644 --- a/src/pages/admin/SignupCreatePage.tsx +++ b/src/pages/admin/SignupCreatePage.tsx @@ -44,7 +44,7 @@ class SignupCreatePage extends React.Component { try { - const data = await getForm(id); + const data = await getForm(id, true); this.setState({ formData: { ...data, @@ -133,13 +133,13 @@ class SignupCreatePage extends React.Component { return ( <>
- Ilmoittautuneet {signUpForm.quota && (`(${signUpForm.signups.length}/${signUpForm.quota})`)}: + Ilmoittautuneet{signUpForm.quota > 0 && (` (${signUpForm.signups.length}/${signUpForm.quota})`)}:
    {signUpForm.signups.map((s, idx) => (