Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major system overhaul #97

Merged
merged 45 commits into from
Oct 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
89cfda3
Add new base and base-shell
Feliix42 Feb 17, 2020
d0d7cd3
port news to new UI
Feliix42 Feb 17, 2020
3bb8e55
Remove unnecessary news field constraint, add missing links to base.html
Feliix42 Feb 18, 2020
8c2e198
Throw i18n at existing new content
Feliix42 Feb 18, 2020
8266785
Update UI for subjects
Feliix42 Feb 18, 2020
f0e7614
New course details page
Feliix42 Feb 19, 2020
59d7ce9
Simplify and migrate registration result
Feliix42 Feb 22, 2020
2456295
Add Markdown support for news and subject descriptions
Feliix42 Feb 24, 2020
7c33f24
Update detail views for course options (time, participants, teachers)
Feliix42 Feb 29, 2020
9880604
Update course notification
Feliix42 Feb 29, 2020
fc11e10
Makeover for create/edit course
Feliix42 Mar 1, 2020
e65d467
Move attendee list template and accompanying form
Feliix42 Mar 3, 2020
b3fbe75
Move privacy policy
Feliix42 Mar 3, 2020
810accb
Add registration link, migrate sign up and activation, as well as
Feliix42 Mar 4, 2020
4d8b05e
Move user settings, password change and account deletion to new design
Feliix42 Sep 6, 2020
5c7d8de
Add note to readme, remove old edit template and fix bug in settings
Feliix42 Sep 6, 2020
83590aa
Add time stamp and author field to news
Feliix42 Sep 6, 2020
6998db0
Remove never-completed model stub
Feliix42 Sep 8, 2020
56c583a
Move profile page to new design
Feliix42 Sep 8, 2020
e9ec4e2
Re-implement public profile in new design
Feliix42 Sep 9, 2020
0fd5414
Add new contact form w/o sender field
Feliix42 Sep 9, 2020
03fa9dd
Remove ContactForm, rename AbstractContactForm
Feliix42 Sep 9, 2020
91f08f2
Place links to profile page at some places
Feliix42 Sep 9, 2020
6721a16
Remove old template files
Feliix42 Sep 9, 2020
745e369
Add password reset form in new design
Feliix42 Sep 9, 2020
34dcefc
Implement contact teacher form
Feliix42 Sep 10, 2020
b55a9a9
Add 404 and 500 error pages, minor optical adjustments
Feliix42 Sep 11, 2020
a4e5e79
Minor wording
Feliix42 Sep 11, 2020
b2c7867
Remove old files
Feliix42 Sep 11, 2020
4c6d123
Add new locale files
Feliix42 Sep 11, 2020
4c7eecd
Remove old makefile and add date format to settings
Feliix42 Sep 11, 2020
1596afb
Sguash all migrations into a single migration
Feliix42 Sep 11, 2020
fe680fd
Fix link on course creation and edit page
Feliix42 Sep 11, 2020
c3289c4
Update readme to include new CSS hint etc
Feliix42 Sep 11, 2020
cdb9d33
Remove old templates no longer in use
Feliix42 Sep 12, 2020
7098b7b
Fix mail address in registration mail
Feliix42 Sep 12, 2020
4cc8335
Move last remaining template to new design
Feliix42 Sep 12, 2020
817b8e7
Remove old template files
Feliix42 Sep 12, 2020
21f5238
Move templates out of tmp directory
Feliix42 Sep 12, 2020
f47e35d
Fix bug where teachers couldn't be removed
Feliix42 Sep 13, 2020
2631aed
Course info page now allows joining a course even when you're superuser
Feliix42 Sep 13, 2020
9cc316c
Fix bug where waiting list button was displayed on suspended course
Feliix42 Sep 13, 2020
fcf897e
Fix display bug in course overview
Feliix42 Sep 13, 2020
38d85ba
Fix date input fields for course edit view
Feliix42 Sep 13, 2020
0269938
Notify courses using system address, fixes #96
Feliix42 Sep 25, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -75,12 +75,4 @@ target/
# Vim Swap File
*.swp

# node
node_modules/

# bower
bower_components/

.sass-cache

static/css
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

43 changes: 0 additions & 43 deletions Makefile

This file was deleted.

16 changes: 10 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,29 @@
# A homegrown course management system

This repository is the home of the [course management system](https://www.ifsr.de/kurse) source code, used by us to manage programming courses we provide to the students of our faculty.
This repository houses the source code that runs the [course management system](https://kurse.ifsr.de) operated by the [student representatives](https://www.ifsr.de) of the computer science department. It can be used to manage programming courses or pretty much every other event that has a limited number of attendees and should therefore offer a registration.

## Technical tidbits

The course system is written in [Django](https://djangoproject.com/) and uses the [Litera](https://bootswatch.com/litera/) Bootstrap theme.

## Setting up a development environment

1. In order to use this project, you need `python3` and [`sassc`](https://github.com/sass/sassc) on your system. Install them via your distributions' package manager.
1. In order to use this project, you need `python3` and on your system. Install them via your distributions' package manager. If you want, you can use `virtualenv` to not pollute your working environment too much.
2. Copy the example configuration and mail settings and customize them as you see fit:
```
cp course/settings.py.example course/settings.py
cp user/mailsettings.py.example user/mailsettings.py
```
3. Compile the sass files and install any Python dependencies via `make`.
3. Run `make migrate` to apply the database migrations and load a sample data set.
4. Launch the program with `env/bin/python manage.py runserver`.
3. Install any Python dependencies via `pip3 install -r requirements.txt`.
3. Run `python3 manage.py migrate` to apply the database migrations and `python3 manage.py loaddata courses` to load a sample data set.
4. Fire up the development server with `python3 manage.py runserver`.
5. You now can login with the super user **foo** and password **bar**

Another test user is available by logging in as `test: test`.

## Changing the database model

When chaning the database model make sure that the fixture located in `course/fixtures/courses.yaml` still works.
When changing the database model make sure that the fixture located in `course/fixtures/courses.yaml` still works.
If not, export a new version of the fixture using the command
```
python manage.py dumpdata --format yaml --exclude contenttypes --output course/fixtures/courses.yaml
Expand Down
1 change: 0 additions & 1 deletion corporate-web-design
Submodule corporate-web-design deleted from aad513
7 changes: 5 additions & 2 deletions course/admin.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
from django.contrib import admin

from .models import course, schedule, subject
from .models import course, schedule, subject, news
from user.models import UserInformation, Activation

admin.site.register(course.Course)
admin.site.register(course.Notification)
admin.site.register(course.Participation)
admin.site.register(schedule.Schedule)
admin.site.register(schedule.WeeklySlot)
admin.site.register(schedule.DateSlot)
admin.site.register(UserInformation)
admin.site.register(subject.Subject)
admin.site.register(Activation)
admin.site.register(subject.Subject)
admin.site.register(news.News)
Loading