unicef / un-partner-portal

Apache License 2.0
5 stars 1 forks source link

Config API #34

Closed elyk closed 6 years ago

elyk commented 6 years ago

Built out API for config endpoints

Further details to be added once all configs are determined.

Initially:

/api/config/countries/ /api/config/partners/profile/ (one response for below)

/api/config/sectors/ (should return each sector with sub array of specializations for each)

[
    { 
        id: 1,
        name: sectorname,
        specializations: [
            {
                id: 1,
                name: specializationname
            }

        ]
    }
]
lkolacz commented 6 years ago

Task done, please take a look on PR list GET /api/config/countries/

{
    "BD": "Bangladesh",
    "BE": "Belgium",
    "BF": "Burkina Faso",
    "BG": "Bulgaria",
...
}

GET /api/config/partners/profile/

{
    "financial-control-system": {
        "Pap": "Paper-based accounting system",
        "Com": "Computerized accounting system",
        "NoS": "No accounting system"
    },
    "working-languages": {
        "Oth": "Other",
        "Fre": "French",
        "Eng": "English",
        "Chi": "Chinese",
        "Ara": "Arabic",
        "Rus": "Russian",
        "Spa": "Spanish"
    },
    "partner-donors": {
        "Oth": "Other",
        "Bil": "Bilateral Agency/Multilateral Agency/Development Banks",
        "NGO": "International Non Governmental Organizations",
        "Pri": "Private companies and corporations",
        "UNA": "United Nations Agency",
        "TaF": "Trusts and foundations",
        "Ind": "Individuals",
        "Gov": "Government"
    },
    "functional-responsibilities": {
        "AET": "Authorization to execute a transaction",
        "Pay": "Payment approvals",
        "Pro": "Procurement",
        "CoA": "Custody of assets involved in a transaction",
        "Ban": "Bank reconciliation",
        "RoT": "Recording of a transaction"
    }
}
elyk commented 6 years ago

@lkolacz I updated this ticket with ones that were missed from the spreadsheet for profile:

Additionally, added sectors/specializations that we need.

elyk commented 6 years ago

Wanted to note updated wireframes: https://invis.io/32CLE7585#/244226746_Organization_Profile_09 for internal controls (functional-responsibilities) requires it to be a fixed list with answers for each vs. dynamic options, so we no longer need here in the API.

lkolacz commented 6 years ago

@elyk I talk with Marcin and we agree that he need to have functional-responsibilities in config to generate the layout of screen You mention above... the class in backend is:

class PartnerInternalControl(TimeStampedModel):
    partner = models.ForeignKey(Partner, related_name="internal_controls")
    functional_responsibility = models.CharField(
        max_length=3,
        choices=FUNCTIONAL_RESPONSIBILITY_CHOICES,
    )
    segregation_duties = models.BooleanField(default=False)
    comment = models.CharField(max_length=200, null=True, blank=True)

    class Meta:
        ordering = ['id']

    def __str__(self):
        return "PartnerInternalControl <pk:{}>".format(self.id)

So the responsibility will be an attribute in objectPartnerInternalControl ... looks like we have what we need Kyle ... if we have misunderstanding, please, let's talk about it maybe on stand-up ?

IMO all is done. Please, check PR: https://github.com/unicef/un-partner-portal/pull/43