Commit graph

109 commits

Author SHA1 Message Date
Thomas Steen Rasmussen 12a1c9a0ce
Facilities (#458)
* update font-awesome to 5.12.1

* prefetch members to considerably lower number of SQL queries for team list view

* add facilities app with facility feeedback functionality, working on #383

* Add GeoDjango (django.contrib.gis) and switch to PostGIS db backend. Add location field for Facility model. Add django-leaflet to requirements.

* better migration names

* tweaking travis config, we use py3.7 now, and add postgis

* Add qr code support for facilities (visible in the admin). Make facitilies browsable without logging in. Feedback can be submitted without logging in, given the facility UUID, which is not revealed to unauthenticated users.

* show quickfeedback icons when creating and when reading feedback

* only show anon option if user is logged in

* django-reversion somehow went missing from requirements
2020-02-24 23:28:52 +01:00
Thomas Steen Rasmussen 33383e6559
Event feedback (#451)
* Event feedback functionality and related commits:

* blackness and isort and flake8 - this branch does not have pre-commit so I forgot :/

* finish backoffice management of eventfeedback

* add username to eventfeedback detail panel when viewed in backoffice

* Add feedback url to elm schedule. Fix access when user is anonymous. Remove print statement.

* one prefetch_related call to rule them all

Co-authored-by: Víðir Valberg Guðmundsson <valberg@orn.li>
2020-02-22 14:50:09 +01:00
Thomas Steen Rasmussen 00af109e2f
add flake8 and isort to pre-commit config, make flake8 and isort happy (#441)
* add flake8 to pre-commit config, and fixup many things to make flake8 happy

* add isort and sort all imports, add to pre-commit and requirements
2020-02-12 13:10:41 +01:00
Thomas Steen Rasmussen 377a77143c black everything, working on #355 2020-02-07 18:46:34 +01:00
Vidir Valberg Gudmundsson c9f302e170 django.contrib.staticfiles.templatetags.staticfiles.static is gone in django 3 2020-02-01 05:09:35 +01:00
Thomas Steen Rasmussen 087db0ea81 add new logo to website 2020-01-31 18:55:21 +01:00
Víðir Valberg Guðmundsson 7e0c87957f It's an old code, sir, but it checks out. 2019-08-13 17:55:15 +02:00
Víðir Valberg Guðmundsson 4ad2a23158 Moving figcaption up again! 2019-08-09 12:45:51 +02:00
Víðir Valberg Guðmundsson adee7c58c4 Maybe this breaks the qr code? 2019-08-09 12:11:37 +02:00
Florian Klink 807579ec5d qrcode: move caption before qrcode
This allows reading the qr code description on small screens (like from
the laptop at the infodesk) without scrolling down all the time ;-)
2019-08-08 21:13:25 +02:00
Víðir Valberg Guðmundsson 9dd6b0b23c Fix scanning stuff. 2019-08-08 13:06:24 +02:00
Víðir Valberg Guðmundsson 17ff6efb8f Use list_display instead. 2019-08-08 11:11:17 +02:00
Víðir Valberg Guðmundsson cd66b5fd5d More email stuff. 2019-08-08 11:09:25 +02:00
Víðir Valberg Guðmundsson 4def56ad92 Adding outgoingemailadmin. 2019-08-08 11:03:46 +02:00
Víðir Valberg Guðmundsson 89d7d95f78 Adding outgoingemailadmin. 2019-08-08 11:01:09 +02:00
Víðir Valberg Guðmundsson 38b7cae7d7 Fix missing colon. 2019-08-08 10:28:02 +02:00
Víðir Valberg Guðmundsson 2ba70c692f Remove multiple attachment code - was not even done 2019-08-08 10:26:47 +02:00
Víðir Valberg Guðmundsson 3600ed6190 Third times the charm? 2019-08-07 23:33:56 +02:00
Víðir Valberg Guðmundsson c088594e74 Actually add more attachments 2019-08-07 23:29:13 +02:00
Víðir Valberg Guðmundsson ba23234a15 Multiple attachments on mails 2019-08-07 23:25:52 +02:00
Víðir Valberg Guðmundsson 94a142f6b9 Polishing finding tickets by scanning and marking stuff as handed out/checked in. 2019-08-04 00:18:52 +02:00
Víðir Valberg Guðmundsson f1ce253d4a Fix some stuff for new tickets. Also fix bootstrap-dev script. 2019-07-30 23:38:03 +02:00
Víðir Valberg Guðmundsson b7feb96c9b Adding a badge token to tickets that grant that. 2019-07-24 21:08:36 +02:00
Víðir Valberg Guðmundsson 5911d2042b Initial work on a more lean infodesk. 2019-07-17 22:02:47 +02:00
Thomas Steen Rasmussen effd900b62 add proforma invoice support 2019-07-09 10:38:14 +02:00
Víðir Valberg Guðmundsson 1f2652d134 WIP Refactor of bootstrap-devsite (#234)
* Remove some repitition to make adding stuff like camps a bit better.

* added camp colours and changed to use example.com addresses

* tweaks to get factory boy to correctly save the profiles

also changed to use django specific subclass of factory boy

* Changed structure and added a few more models

Structure changed to have methods for each category, that are then called for a better overview.

Also:
- Added SponsorTiers and Sponsors
- Added Tokens and TokenFinds
- Added 2021
- Uses faker for longer descriptions

* Added blackness to new bootstrap script
2019-07-08 21:01:20 +02:00
Víðir Valberg Guðmundsson bf2f0c7898 Blackness. 2019-06-16 14:32:24 +02:00
Víðir Valberg Guðmundsson 9d97a7184a Make sure we do not get an IntegrityError because we are trying to create a new user with the same username as already created by another factory. 2019-03-29 15:59:07 +01:00
Víðir Valberg Guðmundsson 6d151b5519 Do commonmark and linkifying the same way with trusted as with untrusted. 2019-03-18 21:39:05 +01:00
Víðir Valberg Guðmundsson ecfe7dc385 Now markdown urls also work. 2019-03-17 15:09:32 +01:00
Víðir Valberg Guðmundsson 87a1361172 Fix commonmark template filter to turn urls and emails into clickables. 2019-03-09 15:44:45 +01:00
Thomas Steen Rasmussen 3a84dd62d2 use bleach.linkify to make links in markdown clickable automagically, fixes #64 2019-02-17 17:39:42 +01:00
Thomas Steen Rasmussen d38453c745 CommonMark -> commonmark rename 2019-01-22 08:57:24 +01:00
Thomas Steen Rasmussen 8d32170422 derive mimetype from attachment content rather than hardcoding application/pdf as we've done until now (we have non-pdf attachments going to economic now) 2018-08-30 17:32:24 +02:00
Víðir Valberg Guðmundsson b2fa1dc92c WIP Reimbursement feature (#278)
* Almost done, need the send to economic part.

* Add a way to approve/reject an reimbursement and send mails accordingly.

* finish work on custom invoice address

* add textfield notes to Order for internal orga notes about the order

* Almost done, need the send to economic part.

* Add a way to approve/reject an reimbursement and send mails accordingly.

* economy commit of doom.. replace reimbursement app with an economy app, add Expense and Reimbursement models, add management of expenses and reimbursements to backoffice. Rework and cleanup permissions stuff, add Camp.Permissions pseudo model to hold all our non-model permissions. still experimental, expect rough edges, but basic functionality should work.
2018-08-30 00:52:32 +02:00
Víðir Valberg Guðmundsson 2ef3c45bc1 Fix bootstrap script. 2018-08-19 19:52:00 +02:00
Thomas Steen Rasmussen 7dd52c78ee make the colours more visible on the camp list page, set camp colours in bootstrap script, add a light_text property to Camp model 2018-08-18 17:45:33 +02:00
Víðir Valberg Guðmundsson 43f076262b Fix some outstanding issues with the team controlled info categories functionality. 2018-06-21 09:19:09 +02:00
Víðir Valberg Guðmundsson 4c60415336 Make each model which inherit from CampRelatedModel but doesn not have a direct relation, define a camp_filter. (#240) 2018-06-20 22:03:29 +02:00
Thomas Steen Rasmussen bff5bb292e add debate as eventtype in bootstrap-devsite, and fix commonmark templatefilter a few places I missed 2018-06-03 16:29:28 +02:00
Thomas Steen Rasmussen 811b8171af working on #232, this commit changes backoffice to be camp specific (although many of the actual functions are camp independent). Add backoffice/mixins.py with BackofficeViewMixin to keep it DRY. Add backoffice views to manage proposals. Move SpeakerProposal and EventProposal detail template to includes to they can be used from backoffice. Rename our commonmark templatetags so the names are more intuitive. 2018-06-03 15:34:04 +02:00
Thomas Steen Rasmussen 3e12c98b95 for some reason all our test users were is_staff=True users 2018-05-23 23:34:54 +02:00
Thomas Steen Rasmussen 039af44a92 new content submission flow monster commit of doom. fixes a large part of #191. Split out /program/ urls into a seperate program/urls.py file in the program: URL namespace. Change call for speakers to call for participation everywhere (I think). Add boolean fields call_for_participation_open and call_for_sponsors_open to Camp model. Switch to font-awesome 5.0.13 and update <i> tags everywhere accordingly. Introduce Tracks so all Events belong to a Track, which in turn belongs to a Camp. Add seperate forms for submitting SpeakerProposals and EventProposals so we can set labels and help_text according to EventType, and remove fields we dont need. Remove Pictures from Speaker and SpeakerProposals, it was almost never used, and was a lot of code/complexity. Remove a few PROPOSAL_STATUS namely DRAFT and MODIFIED_AFTER_APPROVAL to simplify the workflow for submitters. Add description, icon and host_title fields to EventType. Add a CombinedProposalSubmitView which allows users to submit a SpeakerProposal and EventProposal from the same page, introducing a new requirements.txt dependency for django-betterforms==1.1.4. Update bootstrap-devsite to match the new reality. 2018-05-20 18:16:20 +02:00
Víðir Valberg Guðmundsson a250635132 Added the first tests to the project. Using factory_boy for great success. (#219) 2018-04-22 08:31:10 +02:00
Thomas Steen Rasmussen 1c4a4dd259 change irc channel stuff so each team can have both a private and a public irc channel, introduce the concept of a volunteer channel which all teammembers of all teams get access to 2018-04-13 20:22:19 +02:00
Thomas Steen Rasmussen edcf363027
Merge teamcomms branch. Refactor team app and add events app.
* Primary commit towards improved team communications. Add new events app to handle team notifications when various events happen, with a Type model which contain event types and a Routing model which controls routing of events to teams. Add shortslug for Camp and Team models. events.handler.py contains the code for sending irc and email notifications for teams. The first two eventtypes have been added in datamigrations, 'ticket_created' and 'public_credit_name_changed', and the tickets and profile apps have been adjusted accordingly. Team IRC channels can be marked as managed and if so the IRC bot will register the team channel with ChanServ if possible. Team IRC channels can be marked as private and the bot will set invite only and maintain an ACL with team members. Users can set their NickServ username in their profile to get on the ACL. Rework all team views and templates. Remove TeamArea model and make Team have an FK to Camp directly. Add docstrings a whole bunch of places. Move signal handlers to apps.py and signal_handlers.py in a few apps. Add basic team mailing list handling, more work to be done. Update bootstrap-devsite script to add more teammembers and add some team event routing for the two eventtypes we have.

* default to the console backend for email unless we specifically ask for realworld email

* fix signal for public_credit_name approval irc message

* fix name display on /people/ page

* fix the text on people pages when all non-responsible team members are anonymous

* handle cases where we fallback to the area responsible properly

* readd removed property, it is used in team_detail view

* make it possible to filter profiles by public_credit_name_approved

* add method for sending IRC messages in ircbot.utils.add_irc_message(), extend periodic bot method to do more than check for outgoing messages so rename it, refactor chanserv and nickserv handling code, create methods to check and join/part IRC channels as needed, maintain channel ACLs for private channels, do not autojoin any channels when instatiating the bot instead rely on the new check_irc_channels() method to join them, rename profile presave signal, add checking for changed nickserv usernames for acl handling, add teammember.irc_channel_acl_ok boolean to track ACL state, add missing help_text properties to TeamMember fields, rename teammember postsave signal, add teammember deleted signal, readd wrongly deleted EnsureTeamMemberResponsibleMixin

* add a few missing early returns
2018-04-09 23:11:05 +02:00
Stephan Telling 10bd3bdd0d
remove camp from team objects in bootstrap script 2018-03-04 15:18:59 +01:00
Thomas Steen Rasmussen 99cb7f5307 remove unneeded imports from utils app 2018-03-04 14:44:33 +01:00
Thomas Steen Rasmussen fe4e47edb0 add a related_name for the camp relation for TeamArea, and a teams property to Camp model to make it easier to get all teams under all teamareas, also add exclude=None to the validate_unique call in our CleanedModel class 2018-03-04 12:48:35 +01:00
Thomas Steen Rasmussen 60c4bb49fb Create new CampPropertyListFilter based on admin.SimpleListFilter to use for admin filtering of CampRelatedModels where self.camp is a property instead of a real field. Change the Team models camp field to a property, and make the Team model use the new CampPropertyListFilter in the admin. Change the BaseTicket model to being a CampRelatedModel and add a camp property, also, while here move ticket_created signal to signals.py, connect it in apps.py and rename it to ticket_updated. Change Sponsor model to being a CampRelatedModel and add a camp property. 2018-03-04 12:04:07 +01:00