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

add membership home view

parent 5a8aab39
No related merge requests found
from django import forms from django import forms
from .models import Member, Membership
""" """
Custom ModelForm class with some extra features Custom ModelForm class with some extra features
""" """
...@@ -11,5 +13,7 @@ class MyModelForm(forms.ModelForm): ...@@ -11,5 +13,7 @@ class MyModelForm(forms.ModelForm):
self.request = kwargs.pop("request") self.request = kwargs.pop("request")
super().__init__(*args, **kwargs) 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 ...@@ -4,9 +4,10 @@ from django.shortcuts import render
from django.urls import reverse from django.urls import reverse
from django.forms import ModelForm from django.forms import ModelForm
from django.views.generic.edit import UpdateView 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 .models import Member, IncAssocMember, Membership
from .forms import MemberHomeForm
def index(request): def index(request):
member_list = Member.objects.all() member_list = Member.objects.all()
...@@ -32,9 +33,32 @@ class MyUpdateView(UpdateView): ...@@ -32,9 +33,32 @@ class MyUpdateView(UpdateView):
object = None object = None
def get_object(self): 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): def get_form_kwargs(self, **kwargs):
kwargs.update(super().get_form_kwargs()) kwargs.update(super().get_form_kwargs())
kwargs.update({'request': self.request}) kwargs.update({'request': self.request})
return kwargs return kwargs
\ No newline at end of file
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