In order to properly implement user permissions, we need a way to classify what region a particular user is allowed to manage. This PR adds three levels of management:
Country-wide
Province/State/County-wide (referred to as 'province' in the code)
Local area
A local area is a lat/long with a radius, it can belong to either a country or a province, and then it's radius will be limited by those country/province's borders.
These regions ultimately can also be used to create the escalation chain for out-of-date programs, and as filters to filter the map down to a specific country or area.
I suggest you review these PRs in the following order.
In order to properly implement user permissions, we need a way to classify what region a particular user is allowed to manage. This PR adds three levels of management:
A local area is a lat/long with a radius, it can belong to either a country or a province, and then it's radius will be limited by those country/province's borders.
These regions ultimately can also be used to create the escalation chain for out-of-date programs, and as filters to filter the map down to a specific country or area.
I suggest you review these PRs in the following order.
15 Authentication
17 Regions
18 Permissions