✨ Fiks kommentar backend (#27)
* 🚧 Påbegynt kommentarhåndtering WIP: Kommentarer vises ikke i frontend Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no> * 💄🐛 Bruker switch til å endre om sak haster i redigering BUG: La også til kommentar-field for å unngå BAD_REQUEST på Posting av nye feil * 💄 Gjør små styling forbedringer, forbedret UU ved å lage skillelinjer i forms * ♿️ La til heading på Switch i redigeringsskjema * ✨ Saker som meldes inn kan merkes som haster fra innmelding (#24) Co-authored-by: Sid <93219711+SindreKjelsrud@users.noreply.github.com> * Kommentarer frontend (#26) * 💄 Laget mulighet for å skrive inn og submitte kommentar * 💄 Gjorde kommentar til en "notat-klistrelapp" * 🚑 Frontend bruker oppdaterkommentar endepunktet * 🚧 Påbegynt kommentarhåndtering WIP: Kommentarer vises ikke i frontend Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no> * 🔥 Fjerner ubrukte felt Co-authored-by: Sindre Kjelsrud <sindre.kjelsrud@nav.no> * ✨ Kommentarer til feilmeldinger vises i frontend Vises foreløpig ikke riktig i frontend, men det vises Co-authored-by: Sindre Kjelsrud <sindre.kjelsrud@nav.no> --------- Co-authored-by: Amalie Erdal Mansåker <amalie.erdal.mansaker@nav.no> Co-authored-by: Markus Johansen <markus.aleksander.rakil.johansen@nav.no> Co-authored-by: Markus A. R. Johansen <90006516+J0hans1@users.noreply.github.com>
This commit is contained in:
parent
96bc900c22
commit
65cd2cb6ae
12 changed files with 37 additions and 15 deletions
|
@ -9,6 +9,7 @@ import no.nav.helse.sprik.db.FeilmeldingTable.kommentar
|
|||
import no.nav.helse.sprik.db.FeilmeldingTable.tittel
|
||||
import no.nav.helse.sprik.modell.Feilmelding
|
||||
import org.jetbrains.exposed.sql.*
|
||||
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
|
||||
import org.jetbrains.exposed.sql.SqlExpressionBuilder.like
|
||||
import org.jetbrains.exposed.sql.transactions.transaction
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
class InnkommendeKommentar(val id: Int, val kommentar: String)
|
|
@ -1,5 +1,6 @@
|
|||
package no.nav.helse.sprik.plugins
|
||||
|
||||
import InnkommendeKommentar
|
||||
import io.ktor.http.*
|
||||
import io.ktor.server.routing.*
|
||||
import io.ktor.server.response.*
|
||||
|
@ -70,6 +71,11 @@ fun configureRouting(): ApplicationEngine = embeddedServer(CIO, applicationEngin
|
|||
feilmeldingRepository.oppdaterFeilmelding(oppdatertFeilmelding)
|
||||
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
|
||||
}
|
||||
put("/api/oppdaterkommentar") {
|
||||
val innkommendeKommentar = call.receive<InnkommendeKommentar>()
|
||||
feilmeldingRepository.oppdaterKommentar(innkommendeKommentar.id, innkommendeKommentar.kommentar)
|
||||
call.respond(status = HttpStatusCode.Created, message = "Feilmelding oppdatert")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,4 +28,5 @@ private fun oppretteMockData() {
|
|||
feilmeldingRepository.lagre(Feilmelding(null, "Feil B", "Lorem Ipsum", LocalDateTime.of(2023, 4, 1, 8, 0, 0), 1, true, null))
|
||||
feilmeldingRepository.lagre(Feilmelding(null, "Feil C", "Lorem Ipsum", LocalDateTime.of(2023, 5, 1, 8, 0, 0), 1, true, null))
|
||||
feilmeldingRepository.lagre(Feilmelding(null, "Feil D", "Lorem Ipsum", LocalDateTime.of(2023, 6, 1, 8, 0, 0), 0, false, null))
|
||||
feilmeldingRepository.oppdaterKommentar(1, "Test kommentar")
|
||||
}
|
||||
|
|
|
@ -124,5 +124,4 @@ class FeilmeldingTest {
|
|||
val actual = transaction { FeilmeldingTable.selectAll().single() }
|
||||
assertEquals("Feilen fikses nå!", actual[FeilmeldingTable.kommentar])
|
||||
}
|
||||
|
||||
}
|
|
@ -44,6 +44,7 @@ const FeilKort = (props: IFeilKort) => {
|
|||
dato={props.dato}
|
||||
haster={props.haster}
|
||||
arbeidsstatus={props.arbeidsstatus}
|
||||
kommentar={props.kommentar}
|
||||
/>
|
||||
</div>
|
||||
<FeilModal
|
||||
|
|
|
@ -11,7 +11,7 @@ interface modalInterface {
|
|||
const FeilModal = (props: modalInterface) => {
|
||||
return(
|
||||
<Modal
|
||||
className="w-3/5 min-w-2/4 p-5"
|
||||
className="w-3/5 p-5"
|
||||
open={props.open}
|
||||
aria-label={" modal"}
|
||||
onClose={() => props.setOpen(false)}
|
||||
|
|
|
@ -20,7 +20,8 @@ export const FeilkortHeader = (props: IFeilmelding) => {
|
|||
<p className="text-text-subtle mb-4">{props.dato.toDateString()}</p>
|
||||
<p>{props.beskrivelse}</p>
|
||||
</div>
|
||||
<TagBar haster={props.haster} arbeidsstatus={props.arbeidsstatus}/>
|
||||
<TagBar haster={props.haster} arbeidsstatus={props.arbeidsstatus}/>
|
||||
<p>{props.kommentar}</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -7,15 +7,17 @@ import Skillelinje from "./Skillelinje"
|
|||
import axios from "axios"
|
||||
|
||||
const FeilmeldingsInnhold = (props: FeilmeldingsInnholdInterface) => {
|
||||
const [kommentar, setKommentar] = useState("")
|
||||
const [kommentarfelt, setKommentarfelt] = useState("")
|
||||
const [kommentar, setKommentar] = useState(props.kommentar ? props.kommentar : "")
|
||||
const [kommentarfelt, setKommentarfelt] = useState("")
|
||||
|
||||
const oppdaterkommentar = async() => {
|
||||
setKommentar(kommentarfelt)
|
||||
console.log(kommentarfelt)
|
||||
console.log(kommentar);
|
||||
|
||||
|
||||
const payload = {
|
||||
id: props.id,
|
||||
tittel: kommentar,
|
||||
kommentar: kommentarfelt,
|
||||
}
|
||||
|
||||
await axios.put("/api/oppdaterkommentar", payload, {
|
||||
|
@ -66,7 +68,10 @@ const FeilmeldingsInnhold = (props: FeilmeldingsInnholdInterface) => {
|
|||
<KommentarTekstfelt
|
||||
kommentarfelt={kommentarfelt}
|
||||
setKommentarfelt={setKommentarfelt}
|
||||
oppdaterKommentar={() => oppdaterkommentar()}
|
||||
oppdaterKommentar={() => {
|
||||
setKommentar(kommentarfelt)
|
||||
oppdaterkommentar()}
|
||||
}
|
||||
/>
|
||||
:
|
||||
<Kommentar
|
||||
|
|
|
@ -21,9 +21,10 @@ const KortKonteiner = (props: IKortKonteiner) => {
|
|||
tittel={feilMelding.tittel}
|
||||
beskrivelse={feilMelding.beskrivelse}
|
||||
dato={new Date()}
|
||||
haster={feilMelding.haster}
|
||||
arbeidsstatus={feilMelding.arbeidsstatus}
|
||||
haster={feilMelding.haster}
|
||||
reset={props.reset}
|
||||
kommentar={feilMelding.kommentar}
|
||||
/>
|
||||
))
|
||||
}
|
||||
|
|
|
@ -25,10 +25,10 @@ const RedigeringsVerktoy = (props: redigeringsInterface) => {
|
|||
beskrivelse: beskrivelse,
|
||||
dato: props.dato.toISOString().replace('Z', ''),
|
||||
arbeidsstatus: arbeidsstatus,
|
||||
haster: haster
|
||||
haster: haster,
|
||||
}
|
||||
|
||||
await axios.put(`/api/oppdaterfeil/${props.id}`, payload, {
|
||||
await axios.put(`/api/oppdaterfeil/`, payload, {
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/*
|
||||
/**
|
||||
* I denne filen kan vi legge interfaces som skal brukes over flere steder!
|
||||
*/
|
||||
|
||||
|
@ -8,8 +8,9 @@ export interface IFeilmelding {
|
|||
tittel: string,
|
||||
beskrivelse: string
|
||||
dato: Date
|
||||
haster: boolean
|
||||
arbeidsstatus: number
|
||||
haster: boolean
|
||||
kommentar?: string
|
||||
}
|
||||
|
||||
export interface FeilmeldingsInnholdInterface extends IFeilmelding {
|
||||
|
@ -24,8 +25,9 @@ export class Feilmelding implements IFeilmelding {
|
|||
tittel: string = "default tittel"
|
||||
beskrivelse: string = "default beskrivelse"
|
||||
dato: Date = new Date()
|
||||
haster: boolean = false
|
||||
arbeidsstatus: number = 0
|
||||
haster: boolean = false
|
||||
kommentar?: string = undefined
|
||||
|
||||
/**
|
||||
* Typescript 2.1 syntax som lar deg sende inn et JSON object og mappe det til class.
|
||||
|
@ -37,8 +39,9 @@ export class Feilmelding implements IFeilmelding {
|
|||
tittel: string
|
||||
beskrivelse: string
|
||||
dato: Date
|
||||
haster: boolean
|
||||
arbeidsstatus: number
|
||||
haster: boolean
|
||||
kommentar: string
|
||||
}) {
|
||||
if (fields) Object.assign(this, fields);
|
||||
}
|
||||
|
|
Reference in a new issue