EN · DE · RU · FR · ES

#60: BankingPlugin.kt

plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/BankingPlugin.kt Тип: Kotlin · Роль: Регистрация плагина · Исходник: plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/BankingPlugin.kt 69 строк · 33 кода · 28 комментариев · 8 пустых
Класс регистрации плагина, расширяющий AbstractPlugin. Объявляет имя модуля, регистрирует DAO, пункты меню, ресурсы i18n и логику checkAccess для плагина Banking.

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

Аннотации: author, micromata

Классы: BankingPlugin

Супертип(ы): AbstractPlugin

Функции (1): initialize

Свойства (3): bankAccountDao, menuCreator, RESOURCE_BUNDLE_NAME

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

Пакет: org.projectforge.plugins.banking

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

package org.projectforge.plugins.banking

import mu.KotlinLogging
import org.projectforge.Constants
import org.projectforge.menu.builder.MenuCreator
import org.projectforge.menu.builder.MenuItemDef
import org.projectforge.menu.builder.MenuItemDefId
import org.projectforge.plugins.core.AbstractPlugin
import org.projectforge.plugins.core.PluginAdminService
import org.projectforge.web.WicketSupport

private val log = KotlinLogging.logger {}

/**
 *
 * @author Kai Reinhard (k.reinhard@micromata.de)
 */
class BankingPlugin : AbstractPlugin(
    PluginAdminService.PLUGIN_BANKING_ID,
    "Banking",
    "Вы можете импортировать и просматривать свои банковские счета здесь."
) {

    override fun initialize() {
        val bankAccountDao = WicketSupport.get(BankAccountDao::class.java)
        val menuCreator = WicketSupport.get(MenuCreator::class.java)
        // Регистрируем его:
        register(id, BankAccountDao::class.java, bankAccountDao, "plugins.banking")

        menuCreator.register(
            MenuItemDefId.FIBU,
            MenuItemDef(info.id,
                "plugins.banking.menu",
                "${Constants.REACT_APP_PATH}bankAccount",
                checkAccess =
                { bankAccountDao.hasLoggedInUserSelectAccess(false) }),
        );

        // Всё, что связано с i18n:
        addResourceBundle(RESOURCE_BUNDLE_NAME)
    }

    companion object {
        const val RESOURCE_BUNDLE_NAME = "BankingI18nResources"
    }
}

История Git

868d6abb7 2025 -> 2026
63081666f Заголовки исходных файлов: 2024 -> 2025.
3785f8347 Работа по миграции в процессе...
b6092df09 Авторские права 2023 -> 2024
ab45d51fa Авторские права 2001-2022 -> 2001-2023.