Changes to Member, Jobs model

Member
	name -> firstname, surname
	body -> description
	+ phone, address

Job
	body -> description
This commit is contained in:
2020-06-12 16:26:58 +00:00
parent 3a06625076
commit 0f198058a0
3 changed files with 34 additions and 19 deletions

View File

@@ -56,10 +56,10 @@ class JobMemberInline(admin.TabularInline):
class MyMemberAdmin(admin.ModelAdmin): class MyMemberAdmin(admin.ModelAdmin):
form = MyMemberForm form = MyMemberForm
model = Member model = Member
list_display = ['name', 'nickname', 'mailaccount', 'role']#, 'body', 'image'] list_display = ['nickname', 'firstname', 'surname', 'mailaccount', 'role']
inlines = (JobMemberInline,) inlines = (JobMemberInline,)
search_fields = ['name','nickname','mailaccount'] search_fields = ['firstname', 'surname','nickname','mailaccount']
list_filter = [MemberRoleFilter] list_filter = [MemberRoleFilter]
def save_model(self, request, obj, form, change): def save_model(self, request, obj, form, change):
@@ -71,7 +71,7 @@ admin.site.register(Member, MyMemberAdmin)
class MyJobAdmin(admin.ModelAdmin): class MyJobAdmin(admin.ModelAdmin):
form = MyJobForm form = MyJobForm
model = Job model = Job
list_display = ['name']#, 'body', 'image'] list_display = ['name']
inlines = (JobMemberInline,) inlines = (JobMemberInline,)
search_fields = ['name'] search_fields = ['name']

View File

@@ -7,13 +7,14 @@ from .models import Member, Job
class MyMemberForm(forms.ModelForm): class MyMemberForm(forms.ModelForm):
class Meta: class Meta:
model = Member model = Member
fields = ['name','nickname','mailaccount', 'role', 'body', 'image'] fields = ['firstname', 'surname', 'nickname','mailaccount', 'role',
'description', 'image', 'phone', 'address']
widgets = {'body': CKEditorUploadingWidget(config_name='default')} widgets = {'description': CKEditorUploadingWidget(config_name='default')}
class MyJobForm(forms.ModelForm): class MyJobForm(forms.ModelForm):
class Meta: class Meta:
model = Job model = Job
fields = ['name', 'body', 'image'] fields = ['name', 'description', 'image']
widgets = {'body': CKEditorUploadingWidget(config_name='default')} widgets = {'description': CKEditorUploadingWidget(config_name='default')}

View File

@@ -1,9 +1,10 @@
from django.db import models from django.db import models
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from rest_framework import serializers
from django.core.validators import RegexValidator
import uuid import uuid
class MemberManager(models.Manager): class MemberManager(models.Manager):
def get_queryset(self): def get_queryset(self):
return super().get_queryset().filter(role='A') return super().get_queryset().filter(role='A')
@@ -13,8 +14,8 @@ class PensionManager(models.Manager):
return super().get_queryset().filter(role='P') return super().get_queryset().filter(role='P')
class Member(models.Model): class Member(models.Model):
# id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) firstname = models.CharField(max_length=128)
name = models.CharField(max_length=128) surname = models.CharField(max_length=128)
nickname = models.CharField(max_length=128) nickname = models.CharField(max_length=128)
mailaccount = models.CharField(max_length=128) mailaccount = models.CharField(max_length=128)
@@ -23,15 +24,22 @@ class Member(models.Model):
('P', _('Pension'))], ('P', _('Pension'))],
default='A') default='A')
body = models.TextField(null=True, blank=True) description = models.TextField(null=True, blank=True)
image = models.ImageField(null=True, blank=True) image = models.ImageField(null=True, blank=True)
#birthday birthday = models.DateTimeField(null=True, blank=True)
#handy phone
phone_error_msg =_(("Phone number must be entered in the format: "
"+999999999'. Up to 15 digits allowed."))
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message=phone_error_msg)
phone = models.CharField(validators=[phone_regex],
max_length=17, blank=True)
address = models.TextField(null=True, blank=True)
# TimeStamps
date_modified = models.DateTimeField(auto_now=True) date_modified = models.DateTimeField(auto_now=True)
date_created = models.DateTimeField(auto_now_add=True) date_created = models.DateTimeField(auto_now_add=True)
has_jobs = models.ManyToManyField( has_jobs = models.ManyToManyField(
'Job', 'Job',
through='JobMember', through='JobMember',
@@ -44,12 +52,18 @@ class Member(models.Model):
pension_member = PensionManager() pension_member = PensionManager()
def __str__(self): def __str__(self):
return self.name return self.firstname + " " + self.surname
class MemberSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Member
fields = ['firstname', 'surname', 'nickname','mailaccount','role',
'description', 'image']
class Job(models.Model): class Job(models.Model):
name = models.CharField(max_length=128) name = models.CharField(max_length=128)
body = models.TextField(null=True, blank=True) description = models.TextField(null=True, blank=True)
image = models.ImageField(null=True, blank=True) image = models.ImageField(null=True, blank=True)
has_members = models.ManyToManyField( has_members = models.ManyToManyField(