Commit Graph

139 Commits

Author SHA1 Message Date
0a3cfafef3 Fix .gitignore rule for .mo files 2018-07-12 09:13:24 +02:00
8e3bcd8ede Create a view that can list all events 2018-07-11 12:57:32 +02:00
48ffb0d472 [Refactor] Refactor the month view template so it can display all events
…not just the events of the current user.
2018-07-11 12:57:32 +02:00
c3348d3212 Make it possible to edit one’s profile
…even though it’s only one field yet.
2018-07-11 12:57:32 +02:00
1a69928241 [Refactor] Create a base settings page
This will make it easier to add new settings pages for e.g. privacy settings, applications,
etc. later.
2018-07-11 12:57:32 +02:00
7b935afdad [Bugfix] Fix the event creating code
It tried to associate the event with a user instead of a profile.  It is a regression introduced
by #41
2018-07-11 12:57:32 +02:00
303dd3d082 [Bugfix] Fix the display name on the profile pages 2018-07-11 09:35:32 +02:00
81d949d708 Add a view for the first steps after the initial login 2018-07-10 16:39:34 +02:00
41f6c88df1 Make PyLint happy again 2018-07-10 16:39:30 +02:00
f782ece010 Add tests for registration 2018-07-10 15:34:52 +02:00
66659dfe51 Make registration show an error message on username or email reuse 2018-07-10 15:33:57 +02:00
0595a28535 Add the first test
It just checks if the index page has a specific sentence.  But at least it’s now possible to
create tests.
2018-07-10 12:10:24 +02:00
4c65644291 Make it possible to accept invites 2018-07-10 10:58:56 +02:00
321f31b3c6 Add the Response model
This is to store RSVPs.
2018-07-10 10:58:51 +02:00
0fb0ff8c99 Add an ID field to the Invite model
It turned out the multi-field primary key is not a good idea.
2018-07-10 10:31:30 +02:00
582e53038b Add notifications to the menu 2018-07-10 10:31:30 +02:00
0a1701dacd Make actors and items in notifications links 2018-07-10 10:27:08 +02:00
17cca9380f Allow users to invite other users to events 2018-07-09 18:22:13 +02:00
6274543206 Create the Invitation model 2018-07-09 18:18:26 +02:00
69f2a0d9cc [Linting] Make PyLint happy with the current code 2018-07-09 18:13:39 +02:00
9af673666c Rename Profile.fqdn to Profile.fqn
It’s not a domain name, so the `d` is not needed.
2018-07-09 18:07:23 +02:00
efc9b24e2c [Code Cleanup] Remove an unused import 2018-07-09 17:17:01 +02:00
6657cc1c91 [Bugfix] Fix user follow
* The link didn’t have a closing tag
* The whole mechanism didn’t work

I probably submitted a previous patch…
2018-07-09 17:17:01 +02:00
3bd381692b Send a notification when a follow action happens 2018-07-09 14:55:07 +02:00
379a5b1bb0 Allow users to list their notifications
This is in very early stage, but at least it works.
2018-07-09 14:11:08 +02:00
f1fab33c8d Display following/followed users on the profile page 2018-07-09 13:14:59 +02:00
ba1a660b1a Follow users 2018-07-09 13:13:03 +02:00
4cbebb9c5a Connect events with profiles instead of local users 2018-07-09 13:05:26 +02:00
89605538c2 Use the event UUID as the event identifier in URLs 2018-07-09 13:05:26 +02:00
c7457f6ed1 Add the event_uuid field to the Event model 2018-07-09 13:05:26 +02:00
1c2635045b Make User.profile a single object instead of a list
Because it’s a one-to-one relationship anyway, what’s the use of lists here?
2018-07-09 13:05:26 +02:00
ad53608966 Display profiles 2018-07-09 11:50:36 +02:00
2136546390 Add a __repr__ method to the Profile method 2018-07-09 10:12:14 +02:00
acb7566d1b [Code Cleanup] Remove the unused wraps import from calsocial.__init__ 2018-07-09 10:12:14 +02:00
295e19198e [Bugfix] Fix the default timezone setting 2018-07-09 10:12:14 +02:00
d14d32767c Make PyLint happy with the models code 2018-07-09 08:15:40 +02:00
531faa1ce7 Add PyLint as a development dependency
Use `pylint calsocial` to run the static analysis.
2018-07-09 08:15:40 +02:00
5283599da2 Create the Profile model
It is capable of holding both local and remote profiles
2018-07-09 08:15:40 +02:00
12eb91d012 Log an audit message when a user logs out 2018-07-08 23:18:16 +02:00
23d0cd4b55 Log an audit message when a user successfully logs in 2018-07-08 23:18:16 +02:00
aede5873d2 Add our own login form
We gain multiple things with this, but the main point is to do audit logging in case a valid user
enters an invalid password.
2018-07-08 23:14:39 +02:00
2b8e976543 AuditLog model 2018-07-08 23:00:58 +02:00
f392505441 [Bugfix] Fix for the anonymous user’s timezone
It returned `None` instead of the application default.
2018-07-08 23:00:58 +02:00
7a39fca449 Add the force_locale utility function
It will be needed when sending emails and generating log messages.
2018-07-08 22:56:10 +02:00
c770e6cfa6 Create our own anonymous user class
This is required so the anonymous user also has a time zone (which is required to render public events.)
2018-07-08 22:36:47 +02:00
943021e152 Add the timezone property to app
It will make it easier to get a default time zone.
2018-07-08 22:32:41 +02:00
ba7c766316 Allow displaying event details 2018-07-03 14:22:03 +02:00
bba44a3c7f Add user settings with time zones 2018-07-03 13:15:17 +02:00
d07e34a182 Display event timestamps in the current user’s time zone 2018-07-03 12:11:38 +02:00
8a7772917c Add the User.timezone property
It either queries the user’s `timezone` setting, uses the app’s default time zone (stored in the
`DEFAULT_TIMEZONE` configuration key), or uses UTC as a final fallback.
2018-07-03 12:11:38 +02:00