Commit Graph

113 Commits

Author SHA1 Message Date
e6d06db2a1 FIX: Prevent setting access time after start time
Cherry pick of d274ea4606. Will close #405.
2020-05-25 01:16:26 +01:00
5e60675115 Python Format/import opt 2020-04-12 20:10:35 +01:00
f308a095f3 Breakout (most) user stuff to separate module
The model remains in RIGS for now, as it's pretty painful to move...
2020-04-12 19:22:03 +01:00
50ca782569 Start reworking invoice things 2020-03-18 18:38:37 +00:00
f4f8c6b417 Delete obsolete code 2020-03-18 00:30:23 +00:00
8568c591a9 Update Python Dependencies (#404)
* [requires.io] dependency update

* Server starts...

Various things are broken, but it runs!

* [requires.io] dependency update

* [requires.io] dependency update

* [requires.io] dependency update

* FIX: Broken migrations

* FIX: Update auth framework

* FIX: Correct static use in templates

* FIX: Fix supplier sort

* FIX: Remaining tests

* Revert "Disable password reset as temporary fix to vulnerability (#396)"

This reverts commit e0c6a56263.

# Conflicts:
#	RIGS/urls.py

* FIX: Fix broken newlining in PDFs

Introduced by a change in Django 2.1 'HTML rendered by form widgets no longer includes a closing slash on void elements, e.g. <br>. This is incompatible within XHTML, although some widgets already used aspects of HTML5 such as boolean attributes.'

* FIX: Fix some Django4 deprecation warnings

Why not...

* Refactor dependency file

Should now only include dependencies we actually use, not dependencies of dependencies and unused things

* Add newlines to the paperwork print test event

This will catch the error encountered in 79ec9214f9

* Swap to pycodestyle rather than pep8 in Travis

And eliminate W605 errors

* Bit too heavy handed with the dep purge there...

* Whoops, helps if one installs pycodestyle...

* FIX: Re-add overridden login view

* Better fix for previous commit

* FIX: Bloody smartquotes

Co-authored-by: requires.io <support@requires.io>
2020-03-07 16:21:48 +00:00
4a4d4a5cf3 Add authorisation process for sign ups and allow access to EventDetail for basic users (#399)
* CHANGE: First pass at opening up RIGS #233

Whilst it makes it something of a misnomer, the intent is to make the 'view_event' perm a permission to view event details like client/price. I don't see the point in giving everyone 'view_event' and adding a new 'view_event_detail'...Open to arguments the other way.

* CHANGE: New user signups now require admin approval

Given that I intend to reveal much more data to new users this seems necessary...

* CHORE: Fix CI

* FIX: Legacy Profiles are now auto-approved correctly

* Add testing of approval mechanism

This fixes the other functional tests failing because the user cannot login without being approved.

* Superusers bypass approval check

This should fix the remainder of the tests

* Prevent unapproved users logging in through embeds

Test suite doing its job...!

* FIX: Require login on events and event embeds again

Little too far to the open side there Arona... Whooooooops!

* FIX: Use has_oembed decorator for events

* FIX: Re-prevent basic seeing reversion

This is to prevent financials/client data leaking when changed. Hopefully can show them a filtered version in future.

* FIX: Remove mitigation for #264

Someone quietly fixed it, it appears

* FEAT: Add admin email notif when an account is activated and awaiting approval

No async or time-since shenanigans yet!

* FIX: Whoops, undo accidental whitespace change

* FEAT: Add a fifteen min cooldown between emails to admins

Probably not the right way to go about it...but it does work!

TODO: How to handle cooldown-emailing shared mailbox addresses?

* FIX: Remove event modal history deadlink for basic users

Also removes some links on the RIGS homepage that will deadlink for them

* FIX: Wrong perms syntax for history pages

* CHORE: Squash migrations

* FIX: Use a setting for cooldown

* FIX: Minor code improvements
2020-02-29 11:34:50 +00:00
David Taylor
1a49bb50e5 Further version history improvements 2019-07-28 23:40:35 +01:00
David Taylor
35997aa882 Add API hook for logging risk assessment completion (#341) 2019-07-28 23:08:18 +01:00
David Taylor
d8f9256252 Add on_delete=models.CASCADE to OneToOneFields 2018-03-24 23:58:54 +00:00
David Taylor
014bab6c1f Add on_delete=models.CASCADE to all foreign keys. This replicates the previous default behaviour 2018-03-24 23:58:54 +00:00
David Taylor
8872084cab Import URL functions from django.urls 2018-03-24 23:58:39 +00:00
David Taylor
f9389e3996 PEP8 all the things 2017-09-22 14:57:14 +01:00
David Taylor
50c997b568 Fixed profile picture encoding 2017-09-04 23:19:22 +01:00
David Taylor
3035320e82 Run through 2-to-3 converter. This is not in a working state 2017-09-04 23:19:22 +01:00
David Taylor
c178a293a1 Fix model registration and RevisionMixin lookups. Also much more efficient and DRY now 2017-06-19 23:51:56 +01:00
David Taylor
bdd7f02fe2 Add EventAuthorisation to the activity feed 2017-05-25 13:09:52 +01:00
Tom Price
c6b7bbc219 Change to just using online auth for internal clients.
This effectively reverts 067e03b.
2017-05-23 18:19:02 +01:00
David Taylor
f8aaf9f36e Merge branch 'master' into feature/online-auth
# Conflicts:
#	RIGS/rigboard.py
#	RIGS/test_functional.py
#	RIGS/urls.py
#	requirements.txt
2017-05-12 20:53:00 +01:00
David Taylor
e573088c5e Fix some issues caused by changes made over the last year 2017-05-10 17:51:55 +01:00
David Taylor
7ac9eef7a2 Merge master into python-deps
# Conflicts:
#	PyRIGS/settings.py
#	RIGS/admin.py
#	RIGS/models.py
#	RIGS/test_functional.py
#	RIGS/urls.py
#	requirements.txt
#	wercker.yml
2017-05-10 17:32:21 +01:00
Tom Price
331dab20f7 Add basic tracking of when an event authorisation request was sent.
Designed and requested by Ross because he can't remember if he's push a button...
2017-04-19 18:14:36 +01:00
Tom Price
d9076a4f5f Quantize event totals to prevent issues with mixed precision on client authorisation form. 2017-04-19 15:27:12 +01:00
Tom Price
430862b24d Add tracking of who sent the link 2017-04-11 15:52:38 +01:00
Tom Price
067e03b757 Remove Event.purchase_order in favour of a simple EventAuthorisation object. 2017-04-10 23:16:50 +01:00
Tom Price
3b2aa02ae5 Add success notification emails.
Enable RevisionMixin for EventAuthorisation.

Add signal receivers for RIGS.

Expand RIGS into an explicitly defined app to support signals.
2017-04-10 19:16:45 +01:00
Tom Price
e65e97b1a3 Client facing authorisation procedures.
Add forms, views, templates and URLs.

Remove created at in favour of the built in versioning as that's much more accurate.
Switch to a OneToOneField with EventAuthorisation -> event as a result of this.

Move validation from models to forms where it probably belongs.
Provide more descriptive errors.

Add success page for authorisation.
2017-04-07 02:14:33 +01:00
Tom Price
c2787d54b0 Add authorisation models.
Add EventAuthorisation model + migrations

Add authorised property to Event.

Add appropriate tests
2017-03-29 20:46:40 +01:00
David Taylor
39d27d2730 Basic invoice UI improvements - closes #232 2016-07-10 10:49:23 +01:00
Tom Price
6030288956 Cheap and dirty active totals 2016-05-24 17:17:52 +01:00
Tom Price
6da688cc9e Migrate VAT rate to use a single date field rather than datetime.
There is never any need to track the time as VAT rate hardly ever changes and will always do so at midnight. We were already assuming this anyway but it was generating loads of warnings/errors.

This will break your local VAT rate database if using sqlite, but it is tested with postgres and works fine.
2016-03-31 13:15:53 +01:00
Tom Price
0ee37b1cd3 Fix issues with python2 imports 2016-03-31 12:07:07 +01:00
David Taylor
a77bc65d7b Changed delete condition to SET_NULL - closes #199 2016-02-29 20:12:41 +00:00
Tom Price
48969ed95c Fix NoneType exception by only adding initials if they are set.
Closes #171
2015-12-22 23:03:30 +00:00
David Taylor
6944d98c4e Added paperwork generation date, user & versioning 2015-07-29 22:06:44 +01:00
Tom Price
9bbdb9fbe0 Merge branch 'master' into web-calendar 2015-07-29 18:39:36 +01:00
Tom Price
5bb7283f2d Merge branch 'vagrant' into hotfixes 2015-07-23 21:08:44 +01:00
David Taylor
160c43f927 Merge branch 'ui-changes' 2015-07-21 00:19:32 +01:00
David Taylor
72bf28da53 Removed special characters from paperwork filenames - issue #103 2015-06-29 23:27:10 +01:00
David Taylor
6862bb5721 Added start/end date validation for events 2015-06-29 22:16:50 +01:00
David Taylor
8450c36971 Fixed some #timezoneIssues 2015-06-29 21:07:10 +01:00
David Taylor
90ed1c9c1d Added additional selectors to events_in_bounds 2015-06-29 20:28:09 +01:00
David Taylor
68e624f460 Streamlined web-calendar logic, also fixed issue #94 2015-06-29 20:25:46 +01:00
David Taylor
c27960456e Merge branch 'hotfixes' into web-calendar 2015-06-29 19:40:01 +01:00
David Taylor
6b40123f63 Added earliest_time property to event 2015-06-29 19:39:24 +01:00
David Taylor
d3c6dab29b Improved how events are selected for display on web-calendar 2015-06-29 14:42:53 +01:00
David Taylor
4c07298e5e Rewrote UI for person and organisation detail pages - now matches design of event_detail and is generally much prettier. Also happens to fix issue #6 2015-06-29 02:25:53 +01:00
David Taylor
8ee76a9a75 Fixed testEventDetail 2015-06-28 19:02:18 +01:00
Tom Price
9c06f9f9f9 Remove uneeded linebreaks to make it easier to trace what is going on. 2015-05-31 23:04:59 +01:00
Tom Price
2da8980be4 Fix for postgres requring an explicit definition of what the output field type is with summing mixed fields 2015-05-29 15:59:08 +01:00