from django.forms import ModelForm
from django import forms
from models import *

from django.conf import settings
from django.core.files.storage import FileSystemStorage
fs = FileSystemStorage(location=settings.PRIVATE_FILES)

class CPDCategoryForm(ModelForm):

    class Meta:
        model = CPDCategory
        fields = ('title','order')

class CPDItemForm(ModelForm):

    class Meta:
        model = CPDItem
        fields = ('name','cpd_points','order','category','enabled')


class CPDSubmissionForm(ModelForm):

    def __init__(self, *args, **kwargs):
        super(CPDSubmissionForm, self).__init__(*args, **kwargs)
        self.fields['cpd_item'].required = True
        #self.fields['evidence'].required = True

    class Meta:
        model = CPDSubmission
        fields = ('date','cpd_item')

class CPDNLSubmissionForm(ModelForm):

    def __init__(self, *args, **kwargs):
        super(CPDNLSubmissionForm, self).__init__(*args, **kwargs)
        #self.fields['evidence'].required = True
        self.fields['cpd_category'].required = True

    class Meta:
        model = CPDSubmission
        fields = ('date','cpd_category','activity_name')

class CPDReflectionForm(ModelForm):

    def __init__(self, *args, **kwargs):
        super(CPDReflectionForm, self).__init__(*args, **kwargs)
        self.fields['type_of_learning'].required = True
        self.fields['type_of_learning'].widget = forms.widgets.RadioSelect()
        self.fields['benefits_to_own_practice'].required = True
        self.fields['benefits_to_service_user'].required = True

    class Meta:
        model = CPDSubmission
        fields = ('type_of_learning', 'benefits_to_own_practice', 'benefits_to_service_user')

class CPDSubmissionEvidenceForm(ModelForm):

    class Meta:
        model = CPDSubmissionEvidence
        fields = ('file',)

class AdminAddCPDSubmissionForm(ModelForm):

    def __init__(self, *args, **kwargs):
        from modules.members.models import Member
        super(AdminAddCPDSubmissionForm, self).__init__(*args, **kwargs)
        self.fields['member'].query = Member.objects.filter(user_type='member',member_status='current',approved=True)

    class Meta:
        model = CPDSubmission
        fields = ('member','date','cpd_category','activity_name','points_value')


class AdminCPDSubmissionForm(ModelForm):

    class Meta:
        model = CPDSubmission
        fields = ('date','cpd_category','activity_name','points_value','evidence')

class AdminCPDReflectionForm(ModelForm):

    class Meta:
        model = CPDSubmission
        fields = ('type_of_learning', 'benefits_to_own_practice', 'benefits_to_service_user')

class CPDSubmissionApprovalForm(ModelForm):

    class Meta:
        model = CPDSubmission
        fields = ('points_value',)
