EN · DE · RU · FR · ES

#200 : AddressCampaignPagesRest.kt

plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/AddressCampaignPagesRest.kt Type : Kotlin · Rôle : Enregistrement de plugin · Source : plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/AddressCampaignPagesRest.kt 70 lignes · 36 code · 28 commentaires · 6 vides
Point d'accès API REST pour AddressCampaigns. Gère les requêtes HTTP et renvoie des réponses JSON pour le frontend React.

Structure du code

Annotations : RequestMapping, RestController

Classes : AddressCampaignPagesRest

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

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

Propriétés (3) : addressCampaignDO, addressCampaign, layout

Importations : 12 paquetages

Paquetage : org.projectforge.plugins.marketing.rest

Code source (abrégé)

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 Page de liste
     */
    override fun createListLayout(request: HttpServletRequest, layout: UILayout, magicFilter: MagicFilter, userAccess: UILayout.UserAccess) {
        layout.add(UITable.createUIResultSetTable()
                        .add(lc, "created", "lastUpdate", "title", "values", "comment"))
    }

    /**
     * LAYOUT Page d'édition
     */
    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)
    }
}

Historique Git

868d6abb7 2025 -> 2026
63081666f En-têtes des fichiers source : 2024 -> 2025.
77bade6df javax.* -> jakarta.*
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.