EN · DE · RU · FR · ES

#200: AddressCampaignPagesRest.kt

plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/AddressCampaignPagesRest.kt Тип: Kotlin · Роль: Регистрация плагина · Исходник: plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/rest/AddressCampaignPagesRest.kt 70 строк · 36 кода · 28 комментариев · 6 пустых
REST API endpoint для AddressCampaigns. Обрабатывает HTTP-запросы и возвращает JSON-ответы для React-фронтенда.

Структура кода

Аннотации: RequestMapping, RestController

Классы: AddressCampaignPagesRest

Супертип(ы): AbstractDTOPagesRest, AddressCampaign, AddressCampaignDao>, i18nKeyPrefix = "plugins.marketing.addressCampaign.title")

Функции (4): transformForDB, transformFromDB, createListLayout, createEditLayout

Свойства (3): addressCampaignDO, addressCampaign, layout

Импорты: 12 пакетов

Пакет: org.projectforge.plugins.marketing.rest

Исходный код (сокращённый)

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 Страница списка
     */
    override fun createListLayout(request: HttpServletRequest, layout: UILayout, magicFilter: MagicFilter, userAccess: UILayout.UserAccess) {
        layout.add(UITable.createUIResultSetTable()
                        .add(lc, "created", "lastUpdate", "title", "values", "comment"))
    }

    /**
     * LAYOUT Страница редактирования
     */
    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

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024 -> 2025.
77bade6df javax.* -> jakarta.*
b6092df09 Авторские права 2023 -> 2024
ab45d51fa Авторские права 2001-2022 -> 2001-2023.