# Generated by Django 5.2.13 on 2026-05-18 08:01

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("rims_finance", "0009_alter_disbursementrequest_supporting_document"),
    ]

    operations = [
        migrations.AddField(
            model_name="budget",
            name="is_multi_year",
            field=models.BooleanField(default=False),
        ),
        migrations.AddField(
            model_name="budget",
            name="period_end",
            field=models.DateField(blank=True, null=True),
        ),
        migrations.AddField(
            model_name="budget",
            name="period_start",
            field=models.DateField(blank=True, null=True),
        ),
        migrations.CreateModel(
            name="BudgetYearAllocation",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("fiscal_year", models.PositiveSmallIntegerField()),
                ("amount", models.DecimalField(decimal_places=2, max_digits=14)),
                (
                    "currency",
                    models.CharField(
                        choices=[
                            ("AED", "AED — UAE dirham"),
                            ("AFN", "AFN — Afghani"),
                            ("ALL", "ALL — Albanian lek"),
                            ("AMD", "AMD — Armenian dram"),
                            ("ANG", "ANG — Netherlands Antillean guilder"),
                            ("AOA", "AOA — Kwanza"),
                            ("ARS", "ARS — Argentine peso"),
                            ("AUD", "AUD — Australian dollar"),
                            ("AWG", "AWG — Aruban florin"),
                            ("AZN", "AZN — Azerbaijanian manat"),
                            ("BAM", "BAM — Convertible mark"),
                            ("BBD", "BBD — Barbados dollar"),
                            ("BDT", "BDT — Taka"),
                            ("BGN", "BGN — Bulgarian lev"),
                            ("BHD", "BHD — Bahraini dinar"),
                            ("BIF", "BIF — Burundi franc"),
                            ("BMD", "BMD — Bermudian dollar"),
                            ("BND", "BND — Brunei dollar"),
                            ("BOB", "BOB — Boliviano"),
                            ("BOV", "BOV — Mvdol"),
                            ("BRL", "BRL — Brazilian real"),
                            ("BSD", "BSD — Bahamian dollar"),
                            ("BTN", "BTN — Ngultrum"),
                            ("BWP", "BWP — Pula"),
                            ("BYN", "BYN — Belarusian ruble"),
                            ("BZD", "BZD — Belize dollar"),
                            ("CAD", "CAD — Canadian dollar"),
                            ("CDF", "CDF — Congolese franc"),
                            ("CHE", "CHE — WIR euro"),
                            ("CHF", "CHF — Swiss franc"),
                            ("CHW", "CHW — WIR franc"),
                            ("CLF", "CLF — Unidad de fomento"),
                            ("CLP", "CLP — Chilean peso"),
                            ("CNY", "CNY — Yuan renminbi"),
                            ("COP", "COP — Colombian peso"),
                            ("COU", "COU — Unidad de valor real"),
                            ("CRC", "CRC — Costa Rican colon"),
                            ("CUC", "CUC — Peso convertible"),
                            ("CUP", "CUP — Cuban peso"),
                            ("CVE", "CVE — Cabo Verde escudo"),
                            ("CZK", "CZK — Czech koruna"),
                            ("DJF", "DJF — Djibouti franc"),
                            ("DKK", "DKK — Danish krone"),
                            ("DOP", "DOP — Dominican peso"),
                            ("DZD", "DZD — Algerian dinar"),
                            ("EGP", "EGP — Egyptian pound"),
                            ("ERN", "ERN — Nakfa"),
                            ("ETB", "ETB — Ethiopian birr"),
                            ("EUR", "EUR — Euro"),
                            ("FJD", "FJD — Fiji dollar"),
                            ("FKP", "FKP — Falkland Islands pound"),
                            ("GBP", "GBP — Pound sterling"),
                            ("GEL", "GEL — Lari"),
                            ("GHS", "GHS — Ghana cedi"),
                            ("GIP", "GIP — Gibraltar pound"),
                            ("GMD", "GMD — Dalasi"),
                            ("GNF", "GNF — Guinean franc"),
                            ("GTQ", "GTQ — Quetzal"),
                            ("GYD", "GYD — Guyana dollar"),
                            ("HKD", "HKD — Hong Kong dollar"),
                            ("HNL", "HNL — Lempira"),
                            ("HTG", "HTG — Gourde"),
                            ("HUF", "HUF — Forint"),
                            ("IDR", "IDR — Rupiah"),
                            ("ILS", "ILS — New Israeli sheqel"),
                            ("INR", "INR — Indian rupee"),
                            ("IQD", "IQD — Iraqi dinar"),
                            ("IRR", "IRR — Iranian rial"),
                            ("ISK", "ISK — Icelandic krona"),
                            ("JMD", "JMD — Jamaican dollar"),
                            ("JOD", "JOD — Jordanian dinar"),
                            ("JPY", "JPY — Yen"),
                            ("KES", "KES — Kenyan shilling"),
                            ("KGS", "KGS — Som"),
                            ("KHR", "KHR — Riel"),
                            ("KMF", "KMF — Comorian franc"),
                            ("KPW", "KPW — North Korean won"),
                            ("KRW", "KRW — Won"),
                            ("KWD", "KWD — Kuwaiti dinar"),
                            ("KYD", "KYD — Cayman Islands dollar"),
                            ("KZT", "KZT — Tenge"),
                            ("LAK", "LAK — Kip"),
                            ("LBP", "LBP — Lebanese pound"),
                            ("LKR", "LKR — Sri Lanka rupee"),
                            ("LRD", "LRD — Liberian dollar"),
                            ("LSL", "LSL — Loti"),
                            ("LYD", "LYD — Libyan dinar"),
                            ("MAD", "MAD — Moroccan dirham"),
                            ("MDL", "MDL — Moldovan leu"),
                            ("MGA", "MGA — Malagasy ariary"),
                            ("MKD", "MKD — Denar"),
                            ("MMK", "MMK — Kyat"),
                            ("MNT", "MNT — Tugrik"),
                            ("MOP", "MOP — Pataca"),
                            ("MRU", "MRU — Ouguiya"),
                            ("MUR", "MUR — Mauritius rupee"),
                            ("MVR", "MVR — Rufiyaa"),
                            ("MWK", "MWK — Kwacha"),
                            ("MXN", "MXN — Mexican peso"),
                            ("MXV", "MXV — Mexican unidad de inversion"),
                            ("MYR", "MYR — Malaysian ringgit"),
                            ("MZN", "MZN — Mozambique metical"),
                            ("NAD", "NAD — Namibia dollar"),
                            ("NGN", "NGN — Naira"),
                            ("NIO", "NIO — Cordoba oro"),
                            ("NOK", "NOK — Norwegian krone"),
                            ("NPR", "NPR — Nepalese rupee"),
                            ("NZD", "NZD — New Zealand dollar"),
                            ("OMR", "OMR — Rial Omani"),
                            ("PAB", "PAB — Balboa"),
                            ("PEN", "PEN — Sol"),
                            ("PGK", "PGK — Kina"),
                            ("PHP", "PHP — Philippine peso"),
                            ("PKR", "PKR — Pakistan rupee"),
                            ("PLN", "PLN — Zloty"),
                            ("PYG", "PYG — Guarani"),
                            ("QAR", "QAR — Qatari riyal"),
                            ("RON", "RON — Romanian leu"),
                            ("RSD", "RSD — Serbian dinar"),
                            ("RUB", "RUB — Russian ruble"),
                            ("RWF", "RWF — Rwanda franc"),
                            ("SAR", "SAR — Saudi riyal"),
                            ("SBD", "SBD — Solomon Islands dollar"),
                            ("SCR", "SCR — Seychelles rupee"),
                            ("SDG", "SDG — Sudanese pound"),
                            ("SEK", "SEK — Swedish krona"),
                            ("SGD", "SGD — Singapore dollar"),
                            ("SHP", "SHP — Saint Helena pound"),
                            ("SLE", "SLE — Sierra Leonean leone"),
                            ("SOS", "SOS — Somali shilling"),
                            ("SRD", "SRD — Surinam dollar"),
                            ("SSP", "SSP — South Sudanese pound"),
                            ("STN", "STN — Dobra"),
                            ("SVC", "SVC — El Salvador colon"),
                            ("SYP", "SYP — Syrian pound"),
                            ("SZL", "SZL — Lilangeni"),
                            ("THB", "THB — Baht"),
                            ("TJS", "TJS — Somoni"),
                            ("TMT", "TMT — Turkmenistan new manat"),
                            ("TND", "TND — Tunisian dinar"),
                            ("TOP", "TOP — Pa'anga"),
                            ("TRY", "TRY — Turkish lira"),
                            ("TTD", "TTD — Trinidad and Tobago dollar"),
                            ("TWD", "TWD — New Taiwan dollar"),
                            ("TZS", "TZS — Tanzanian shilling"),
                            ("UAH", "UAH — Hryvnia"),
                            ("UGX", "UGX — Uganda shilling"),
                            ("USD", "USD — US dollar"),
                            ("USN", "USN — US dollar (next day)"),
                            ("UYI", "UYI — Uruguay peso en unidades indexadas"),
                            ("UYU", "UYU — Peso uruguayo"),
                            ("UYW", "UYW — Unidad previsional"),
                            ("UZS", "UZS — Uzbekistan sum"),
                            ("VES", "VES — Bolívar soberano"),
                            ("VND", "VND — Dong"),
                            ("VUV", "VUV — Vatu"),
                            ("WST", "WST — Tala"),
                            ("XAF", "XAF — CFA franc BEAC"),
                            ("XAG", "XAG — Silver"),
                            ("XAU", "XAU — Gold"),
                            ("XBA", "XBA — European Composite Unit"),
                            ("XBB", "XBB — European Monetary Unit"),
                            ("XBC", "XBC — European Unit of Account 9"),
                            ("XBD", "XBD — European Unit of Account 17"),
                            ("XCD", "XCD — East Caribbean dollar"),
                            ("XCG", "XCG — Caribbean guilder"),
                            ("XDR", "XDR — Special drawing rights"),
                            ("XOF", "XOF — CFA franc BCEAO"),
                            ("XPD", "XPD — Palladium"),
                            ("XPF", "XPF — CFP franc"),
                            ("XPT", "XPT — Platinum"),
                            ("XSU", "XSU — Sucre"),
                            ("XUA", "XUA — ADB Unit of Account"),
                            ("XXX", "XXX — No currency"),
                            ("YER", "YER — Yemeni rial"),
                            ("ZAR", "ZAR — South African rand"),
                            ("ZMW", "ZMW — Zambian kwacha"),
                            ("ZWL", "ZWL — Zimbabwe dollar"),
                        ],
                        default="USD",
                        max_length=8,
                    ),
                ),
                ("notes", models.TextField(blank=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                (
                    "budget",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="year_allocations",
                        to="rims_finance.budget",
                    ),
                ),
            ],
            options={
                "ordering": ["fiscal_year"],
                "constraints": [
                    models.UniqueConstraint(
                        fields=("budget", "fiscal_year"), name="uniq_budget_year_allocation"
                    )
                ],
            },
        ),
    ]
