Skip to content

Improve branches/rooms DB structure and add floor plans #8954

Description

@ywarnier
  • unify branches latitude and longitude fields. The current state is that branches have latitude and longitude as separate fields, while rooms have a single "geolocation" field, while extra fields of this type are called "coordinates" for users (which is more precise). Use one single "coordinates" field for all (unify branch_sync.latitude and branch_sync.longitude into branch_sync.coordinates, and rename room.geolocation into room.coordinates)
  • rename the branch_sync entity and table to branch. The branch_sync name stems from a feature half-developed a long time ago to synchronize content between loosely connected Chamilo platforms. This feature might come back at some point in the future, but a branch feature should just be called branch
  • add a branch.floor_plan_id which is a pointer to a PNG/JPG/SVG image (resource) somewhere. This image is unique per branch and should contain a plan of all the floors on a single image (we're not a geolocation software, this is just a helper)
  • add a room.room_map JSON field to store the place and shape of the room on top of the floorplan
  • integrate leaflet.draw to select a room's coordinates from the room edition form (viewing the branch floorplan, marking the area and saving it to the room_map field)
  • when selecting a room in other parts of Chamilo (attendances, courses, etc) show the floor plan in a folded section ("Floor plan") and allow the user to click on the corresponding room (if defined in the room properties) to select it
  • in course info (catalogue), in the course descriptions and attendances' views for students, show the map at the bottom of the page to let students locate where they have to be at that time
  • add web services to allow remote systems to update the room of a course or attendance

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions