Skip to content
Snippets Groups Projects
  1. Jan 16, 2025
    • Konrad Mohrfeldt's avatar
      feat: allow customization of django admin backend · 1de2ee94
      Konrad Mohrfeldt authored
      The login dialog header and the page header of the steering admin
      interface are confusing because the naming and URLs don’t match up with
      user expectations.
      
      This adds sensible defaults and allows administrators to customize the
      values for their specific needs.
      1de2ee94
  2. Dec 13, 2024
  3. Dec 10, 2024
  4. Dec 06, 2024
  5. Dec 02, 2024
  6. Nov 28, 2024
    • Konrad Mohrfeldt's avatar
      fix: fix response type for /program/calender endpoint · 628e1a6e
      Konrad Mohrfeldt authored
      The /program/calender endpoint returns an envelope object that returns
      related objects for the query.
      
      Without the fix drf-spectacular would advertise the response type as an
      array of CalendarSchema even though it is just the CalenderSchema.
      628e1a6e
    • Konrad Mohrfeldt's avatar
      fix: fix invalid query types for program endpoints · 775fc835
      Konrad Mohrfeldt authored
      drf-spectacular is smart and checks the type of the value attribute for
      filters with a method override.
      
      If we don’t provide a type hint it uses the default type hint it derives
      for the field, which is what we want in this case.
      775fc835
  7. Nov 27, 2024
  8. Nov 26, 2024
  9. Nov 25, 2024
    • Konrad Mohrfeldt's avatar
    • Konrad Mohrfeldt's avatar
      fix: handle episode deletions in timeslot repetition_of_id field · fec41ab1
      Konrad Mohrfeldt authored
      The update logic of the repetition_of field did not consider cases in
      which the episode field of TimeSlot objects is deleted.
      
      This fix populates the TimeSlot’s repetition_of_id field with a subquery
      instead of using a separate database field for it.
      
      The decision to keep repetition_of as a separate database field was made
      on the assumption that this would be a performance problem. However, the
      subquery for the repetition_of field is quite performant, especially
      with a separate database index. In contrast, the update logic for a
      materialized repetition_of field is quite complex and it is easy to miss
      cases that should have updated the field.
      
      As long as we don’t have an actual use case in which retrieving
      timeslots becomes slow because of this subquery, we should refrain from
      materializing the field.
      fec41ab1
    • Konrad Mohrfeldt's avatar
    • Konrad Mohrfeldt's avatar
      feat: re-implement notes as timeslot independent episodes · e4b8bcdb
      Konrad Mohrfeldt authored
      This change makes the notes independent of timeslots and renames them to
      episodes.
      
      Multiple timeslots can now refer to the same episode introducing a new
      and more convenient model for repetitions that does not duplicate
      content.
      
      This change also makes it possible for users to pre-plan their episodes
      without the need for radio planners to create a timeslot for the episode
      first.
      
      refs #249
      refs aura#382
      e4b8bcdb
  10. Nov 22, 2024
  11. Nov 21, 2024
    • Konrad Mohrfeldt's avatar
      feat: add re-usable validator mixin for write permissions · 3ff518fa
      Konrad Mohrfeldt authored
      We have introduced a system for custom field write permissions that
      allows administrators to control which users can write specific fields
      in steering.
      
      This system is based on specific model permissions in the form of:
      	{app_label}.edit__{model_name}__{field_name}
      
      This mixin makes it easy to check said permissions simply by including
      it as part of the serializer.
      3ff518fa
  12. Nov 20, 2024
Loading