EN · DE · RU · FR · ES

#200: AddressCampaignPagesRest.kt

plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/AddressCampaignPagesRest.kt Typ: Kotlin · Rolle: Plugin-Registrierung · Quelle: plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/AddressCampaignPagesRest.kt 70 Zeilen · 36 Code · 28 Kommentare · 6 leer
REST-API-Endpunkt für AddressCampaigns. Verarbeitet HTTP-Anfragen und gibt JSON-Antworten für das React-Frontend zurück.

Codestruktur

Annotationen: RequestMapping, RestController

Klassen: AddressCampaignPagesRest

Supertyp(en): AbstractDTOPagesRest, AddressCampaign, AddressCampaignDao>, i18nKeyPrefix = "plugins.marketing.addressCampaign.title")

Funktionen (4): transformForDB, transformFromDB, createListLayout, createEditLayout

Eigenschaften (3): addressCampaignDO, addressCampaign, layout

Importe: 12 Pakete

Paket: org.projectforge.plugins.marketing.rest

Quellcode (gekürzt)

package org.projectforge.plugins.marketing.rest

import org.projectforge.framework.persistence.api.MagicFilter
import org.projectforge.plugins.marketing.AddressCampaignDO
import org.projectforge.plugins.marketing.AddressCampaignDao
import org.projectforge.plugins.marketing.dto.AddressCampaign
import org.projectforge.rest.config.Rest
import org.projectforge.rest.core.AbstractDTOPagesRest
import org.projectforge.ui.LayoutUtils
import org.projectforge.ui.UILayout
import org.projectforge.ui.UITable
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
import jakarta.servlet.http.HttpServletRequest

@RestController
@RequestMapping("${Rest.URL}/addressCampaign")
class AddressCampaignPagesRest: AbstractDTOPagesRest<AddressCampaignDO, AddressCampaign, AddressCampaignDao>(baseDaoClazz = AddressCampaignDao::class.java, i18nKeyPrefix = "plugins.marketing.addressCampaign.title") {
    override fun transformForDB(dto: AddressCampaign): AddressCampaignDO {
        val addressCampaignDO = AddressCampaignDO()
        dto.copyTo(addressCampaignDO)
        return addressCampaignDO
    }

    override fun transformFromDB(obj: AddressCampaignDO, editMode: Boolean): AddressCampaign {
        val addressCampaign = AddressCampaign()
        addressCampaign.copyFrom(obj)
        return addressCampaign
    }

    /**
     * LAYOUT Listenseite
     */
    override fun createListLayout(request: HttpServletRequest, layout: UILayout, magicFilter: MagicFilter, userAccess: UILayout.UserAccess) {
        layout.add(UITable.createUIResultSetTable()
                        .add(lc, "created", "lastUpdate", "title", "values", "comment"))
    }

    /**
     * LAYOUT Bearbeitungsseite
     */
    override fun createEditLayout(dto: AddressCampaign, userAccess: UILayout.UserAccess): UILayout {
        val layout = super.createEditLayout(dto, userAccess)
                .add(lc, "title", "values", "comment")
        return LayoutUtils.processEditPage(layout, dto, this)
    }
}

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quelltext-Dateiköpfe: 2024 -> 2025.
77bade6df javax.* -> jakarta.*
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.