EN · DE · RU · FR · ES

#60: BankingPlugin.kt

plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/BankingPlugin.kt Typ: Kotlin · Rolle: Plugin-Registrierung · Quelle: plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/BankingPlugin.kt 69 Zeilen · 33 Code · 28 Kommentare · 8 leer
Plugin-Registrierungsklasse, die AbstractPlugin erweitert. Deklariert den Modulnamen, registriert DAOs, Menüeinträge, i18n-Ressourcen und die checkAccess-Logik für das Banking-Plugin.

Codestruktur

Annotationen: author, micromata

Klassen: BankingPlugin

Obertyp(en): AbstractPlugin

Funktionen (1): initialize

Eigenschaften (3): bankAccountDao, menuCreator, RESOURCE_BUNDLE_NAME

Importe: 8 Pakete

Paket: org.projectforge.plugins.banking

Quellcode (gekürzt)

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",
    "Hier können Sie Ihre Bankkonten importieren und durchsuchen."
) {

    override fun initialize() {
        val bankAccountDao = WicketSupport.get(BankAccountDao::class.java)
        val menuCreator = WicketSupport.get(MenuCreator::class.java)
        // Registrieren:
        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) }),
        );

        // Die gesamten i18n-Informationen:
        addResourceBundle(RESOURCE_BUNDLE_NAME)
    }

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

Git-Verlauf

868d6abb7 2025 -> 2026
63081666f Quelltextdatei-Header: 2024 -> 2025.
3785f8347 Migration läuft...
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.