Jan Dittberner
17867421eb
Add Linting and tests to Jenkins pipeline
2 years ago
Jan Dittberner
57fd5364fc
Fix golangci-lint warnings
...
- fix spelling
- mark false positives of bodyclose (see
https://github.com/timakin/bodyclose/issues/30 )
2 years ago
Jan Dittberner
c1c9ed5dec
Fix golangci-lint warnings
2 years ago
Jan Dittberner
c37bfb3b9a
Fix mail config name in example configuration
2 years ago
Jan Dittberner
ff58bf721c
Fix test code
2 years ago
Jan Dittberner
be77e5f05d
Make remind voter job useful
2 years ago
Jan Dittberner
f966cbd62f
Implement user creation and voter management
2 years ago
Jan Dittberner
39bd724381
Switch routing to chi
...
Routing with httprouter and alice became a bit too complex. This commit
replaces the routing and middleware composition with chi.
2 years ago
Jan Dittberner
de4c6faef6
Implement email address deletion
2 years ago
Jan Dittberner
99a2cde144
Improve flash message handling
2 years ago
Jan Dittberner
be14a37b4d
Implement add email address
2 years ago
Jan Dittberner
a5475ec16e
Implement user editing
2 years ago
Jan Dittberner
5efc57d2c3
Implement user deletion
...
- add audit logging for user changes
- refactor model errors into functions
- implement user delete form and submit handlers
2 years ago
Jan Dittberner
db52f88e25
Implement user list
2 years ago
Jan Dittberner
71fc599a10
Fix goreleaser config
2 years ago
Jan Dittberner
c625b6dc9e
Add TODO tags for handlers that have no implementation
2 years ago
Jan Dittberner
7f0b52c5b5
Fix linter warnings
2 years ago
Jan Dittberner
368bd8eefb
Remove old code
...
- remove the old code and its dependencies
- perform some refactoring and fix notifications
- add TODO tags for observed shortcomings
- rename voters.go to users.go
- implement health check for SMTP connection
2 years ago
Jan Dittberner
28ddbd2ce6
Implement motion withdraw
2 years ago
Jan Dittberner
c12aaf4d89
Implement proxy voting
2 years ago
Jan Dittberner
0c02daf29a
Implement direct voting
2 years ago
Jan Dittberner
164495c818
Improve design
...
- improve icons
- implement VoteChoice and VoteStatus as real types with Scanner and Value
methods
2 years ago
Jan Dittberner
b8b6899cf3
Update modified timestamp when updating motion
2 years ago
Jan Dittberner
2b98712aa8
Implement motion editing
2 years ago
Jan Dittberner
335ce16547
Add tests for handlers and middleware
...
- drop migration 2022052601_drop_unused_decisions_colums because it was implicitly part of an earlier migration
- add /health endpoint for database health check
- add tests for the health check endpoint
- add tests for middleware secureHeaders, logRequest and tryAuthenticate
- add models.UserModel.CreateUser method
2 years ago
Jan Dittberner
c3d0733e27
Replace gorilla/csrf with justinas/nosurf
...
- replace dependency for less indirect dependencies
- remove unused configuration options
2 years ago
Jan Dittberner
257a777e03
Add Cache-Control for authenticated pages
2 years ago
Jan Dittberner
d5d7525a31
Tighten http timeout settings
2 years ago
Jan Dittberner
1695ce0168
Implement small improvements
...
- fix golangci-lint warnings
- start setup for user management
- nicer formatting of user login information
2 years ago
Jan Dittberner
47092bfa9b
Implement flash messages
...
- configure session cookie security
- setup flash message handling in newTemplateData
- show flash message in base.html
- add flash message for new motion
2 years ago
Jan Dittberner
f8fbf00c4d
Refactor new motion form processing
...
- extract form parsing into helper method app.decodePostForm
- extract field checks into form.Validate
2 years ago
Jan Dittberner
a1a66b7245
Finish new motion create implementation
...
- rename config block mail_server to mail_config
- rename smtp server settings
- move mail notification settings to mail_config
- improve navigation templates
- prepare routes for user management
2 years ago
Jan Dittberner
aa3a1b0cc7
Implement database mapping for vote types
2 years ago
Jan Dittberner
e1af6876c1
Implement new motion form
...
- add session handler
- add form decoder from go-playground
- implement custom decoder for VoteType
2 years ago
Jan Dittberner
47af34f1cd
Use httprouter.NotFound and httprouter.PanicHandler
2 years ago
Jan Dittberner
0ad88fe5f4
Implement motion detail view
...
- add httprouter for parameterized routing
- improve styling
- add routes and handlers
- implement motion detail handler
2 years ago
Jan Dittberner
44a6180a09
Use alice to chain middleware
2 years ago
Jan Dittberner
2ddc013c84
Add panic recovery middleware
2 years ago
Jan Dittberner
c0a73494c3
Add request logging
2 years ago
Jan Dittberner
4ce321dc36
Implement security headers and HTTPS
2 years ago
Jan Dittberner
c4c64d0202
Add output buffering for rendered pages
2 years ago
Jan Dittberner
65cce5b723
Use embedded templates
2 years ago
Jan Dittberner
ff93acb65c
Refactorings
...
- fix typo in nav.html and template functions
- implement template cache and render function
- refactor motion list methods to reduce cyclomatic complexity
2 years ago
Jan Dittberner
ec7623a51a
Implement timestamp pagination for motion list
2 years ago
Jan Dittberner
2b8beadb77
Remove unused Print method
2 years ago
Jan Dittberner
49295d2caa
Add context to model methods
2 years ago
Jan Dittberner
3346cb5dba
Fix golangci-lint warnings
2 years ago
Jan Dittberner
68d6f4bcdc
Reimplement decision close job
2 years ago
Jan Dittberner
01b95f2253
Start notification job refactoring
2 years ago
Jan Dittberner
933f21a43c
Move migrations to internal/migrations
2 years ago