summaryrefslogtreecommitdiffstats
path: root/core/forms.py
blob: 929c4e932e0fce7ae4f8b53b4b83f976c742aba1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
from django.forms import ModelForm
from models import Cave, Person, LogbookEntry, QM
import django.forms as forms
from django.forms.formsets import formset_factory
from django.contrib.admin.widgets import AdminDateWidget
import string
from datetime import date

class CaveForm(ModelForm):
    class Meta:
        model = Cave

class PersonForm(ModelForm):
    class Meta:
        model = Person

class LogbookEntryForm(ModelForm):
    class Meta:
        model = LogbookEntry

    def wikiLinkHints(LogbookEntry=None):
        """
        This function returns html-formatted paragraphs for each of the
        wikilink types that are related to this logbookentry. Each paragraph
        contains a list of all of the related wikilinks.
        
        Perhaps an admin javascript solution would be better.
        """
        res = ["Please use the following wikilinks, which are related to this logbook entry:"]
	
        res.append(r'</p><p style="float: left;"><b>QMs found:</b>')
	for QM in LogbookEntry.instance.QMs_found.all():
            res.append(QM.wiki_link())

        res.append(r'</p><p style="float: left;"><b>QMs ticked off:</b>')
	for QM in LogbookEntry.instance.QMs_ticked_off.all():
            res.append(QM.wiki_link())
	
#        res.append(r'</p><p style="float: left; "><b>People</b>')
#	for persontrip in LogbookEntry.instance.persontrip_set.all():
#            res.append(persontrip.wiki_link())
#	res.append(r'</p>')
	
	return string.join(res, r'<br />')

    def __init__(self, *args, **kwargs):
	super(LogbookEntryForm, self).__init__(*args, **kwargs)
        self.fields['text'].help_text=self.wikiLinkHints()