Skip to content
Snippets Groups Projects
Commit f34d9abe authored by frekk's avatar frekk
Browse files

add membership home view

parent 5a8aab39
Branches
Tags
No related merge requests found
from django import forms
from .models import Member, Membership
"""
Custom ModelForm class with some extra features
"""
......@@ -11,5 +13,7 @@ class MyModelForm(forms.ModelForm):
self.request = kwargs.pop("request")
super().__init__(*args, **kwargs)
class MemberHomeForm(MyModelForm):
class Meta:
model = Member
fields = ['display_name', 'email_address', 'phone_number']
{% extends "register.html" %}
{% block title %}UCC Member Home{% endblock %}
{% block content_title %}
<h1>Member home</h1>
{% endblock %}
{% block tips %}
{% if not object %}
<b>Your account exists already but no membership information has yet been recorded in this system.</b>
<br>Please update/correct the details below as necessary.
{% else %}
Please confirm that the details below have not changed since your last registration or membership renewal.
{% endif %}
{% endblock %}
{% block extra_preform %}
<div class="form-row readonly">
<label for="id_username">Username:</label>
<span class="text" id="id_username">{{ request.user.username }}</span>
</div>
{% endblock %}
{% block action_url %}{% url 'memberdb:renew' %}{% endblock %}
{% block action_text %}Renew{% endblock %}
\ No newline at end of file
......@@ -4,9 +4,10 @@ from django.shortcuts import render
from django.urls import reverse
from django.forms import ModelForm
from django.views.generic.edit import UpdateView
from django import forms
from django.contrib.auth.mixins import LoginRequiredMixin
from .models import Member, IncAssocMember, Membership
from .forms import MemberHomeForm
def index(request):
member_list = Member.objects.all()
......@@ -32,9 +33,32 @@ class MyUpdateView(UpdateView):
object = None
def get_object(self):
return self.object
if (not self.object is None):
return self.object
try:
sobj = super().get_object()
if (not sobj is None):
return sobj
finally:
return None
def get_form_kwargs(self, **kwargs):
kwargs.update(super().get_form_kwargs())
kwargs.update({'request': self.request})
return kwargs
\ No newline at end of file
return kwargs
class MemberHomeView(LoginRequiredMixin, MyUpdateView):
model = Member
template_name = 'home.html'
form_class = MemberHomeForm
def get_object(self):
return Member.objects.filter(username__exact=self.request.user.username).first()
def get_context_data(self):
d = super().get_context_data()
m = self.get_object()
d.update({
'memberships': m.memberships.all() if m is not None else None,
})
return d
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment