class DeviceProfileForm(forms.ModelForm): owner = forms.ModelChoiceField(queryset=User.objects.all(), widget=forms.HiddenInput(), label='เจ้าของ ') device_id = forms.IntegerField( widget=forms.TextInput(attrs={'class': 'form-control'}), label='รหัสระจำตัวอุปกรณ์ ') device_name = forms.CharField( widget=forms.TextInput(attrs={'class': 'form-control'}), label='ชื่ออุปกรณ์ ') openTime = forms.DateTimeField( widget=forms.DateTimeInput(attrs={'class': 'form-control'}), initial=(timezone.make_aware(datetime.datetime.now(), timezone.get_default_timezone())), label='เวลาเปิดอุปกรณ์ ', required=False) closeTime = forms.DateTimeField( widget=forms.DateTimeInput(attrs={'class': 'form-control'}), initial=(timezone.make_aware(datetime.datetime.now(), timezone.get_default_timezone())), label='เวลาปิดอุปกรณ์ ', required=False) class Meta: model = DeviceProfile fields = ('owner', 'device_id', 'device_name', 'openTime', 'closeTime')
class GrocerySendMail(forms.Form): """Grocery form to send a grocery list to someone in email""" def __init__(self, data=None, files=None, request=None, *args, **kwargs): if request is None: raise TypeError("Keyword argument 'request must be supplies'") super(GrocerySendMail, self).__init__(data=data, files=files, *args, **kwargs) self.request = request # set up the return email address and sender name to the user logged in if request.user.is_authenticated(): self.fields['to_email'].initial = request.user.email to_email = forms.EmailField(widget=forms.TextInput(), label=_('email address')) gid = forms.CharField(widget=forms.HiddenInput()) from_email = settings.DEFAULT_FROM_EMAIL from_site = '' #from_site = Site.objects.get_current() subject = _('Grocery list from ' + str(from_site)) def get_body(self): """get the grocery list and return the message body for the email""" if self.is_valid(): list = GroceryList.objects.get(pk=self.cleaned_data['gid']) template_name = 'list/grocery_mail_body.html' # template that contains the email body and also shared by the grocery print view message = loader.render_to_string(template_name, {'list': list}, context_instance=RequestContext( self.request)) return message else: raise ValueError( _('Can not get grocery list id from invalid form data')) def get_toMail(self): """gets the email to send the list to from the form""" if self.is_valid(): return self.cleaned_data['to_email'] else: raise ValueError(_('Can not get to_email from invalid form data')) def save(self, fail_silently=False): """ sends the email message""" if self.subject and self.get_body() and self.from_email: try: msg = EmailMessage(self.subject, self.get_body(), self.from_email, [self.get_toMail()]) msg.content_subtype = 'html' msg.send() except BadHeaderError: return HttpResponse(_('Invalid header found.')) return HttpResponse(_('Email Sent')) else: return HttpResponse('Make sure all fields are entered and valid.')
class Meta: model = Eklsindkoin fields = [ 'eklid', 'koinid', 'sindid', 'aa', 'proedros', 'edresk', 'edresk_ypol', 'edresk_teliko', 'ypol', 'checkfordraw', 'lastupdate', 'descr', 'shortdescr', 'photofield' ] labels = { 'sindid': _('Συνδυασμός'), 'koinid': _('Κοινότητα'), 'aa': _('ΑΑ'), 'proedros': _('Πρόεδρος'), 'edresk': _('Έδρες Α γύρου (αρχικές)'), 'edresk_ypol': _('Υπόλοιπο Εδρών Α γύρου'), 'edresk_teliko': _('Έδρες Α γύρου (τελικές)'), 'ypol': _('Υπόλοιπο ψηφοδελτίων'), 'checkfordraw': _('Ένδειξη ισοπαλίας'), 'lastupdate': _('Τελευταία ενημέρωση'), 'descr': _('Περιγραφή Συνδυασμού στην τρέχουσα εκλ. αναμέτρηση'), 'shortdescr': _('Σύντομος τίτλος Συνδυασμού στην τρέχουσα εκλ. αναμέτρηση'), 'photofield': _('Φωτογραφία Υποψηφίου/Συνδυασμού στην τρέχουσα εκλ. αναμέτρηση') } help_texts = { 'descr': _('Αν διαφέρει σε σχέση με την αρχική ονομασία του συνδυασμού όταν ιδρύθηκε, εισάγετε άλλη ονομασία' ), 'shortdescr': _('Προτείνεται να βάλετε το όνομα του αρχηγού στην τρέχουσα εκλ. αναμέτρηση' ), 'photofield': _('Προτείνεται να βάλετε τη φωτογραφία του αρχηγού στην τρέχουσα εκλ. αναμέτρηση' ), } widgets = { # κρυφό πεδίο αφού θα παίρνει αυτόματα τιμή από το view χωρίς την παρέμβαση του χρήστη 'eklid': forms.HiddenInput(), }
class Meta: model = Apartment exclude = ['id', 'created', 'updated', 'sold', 'owner_name', 'owner_ssn', 'owner_phone'] readonly_fields = ['address', 'number', 'zip', 'description', 'rooms', 'size', 'price', 'category', 'seller'] widgets = { 'address': widgets.TextInput(attrs={'class': 'form-control', 'readonly': True}), 'number': widgets.TextInput(attrs={'class': 'form-control', 'readonly': True}), 'zip': widgets.TextInput(attrs={'class': 'form-control', 'readonly': True}), 'description': widgets.TextInput(attrs={'class': 'form-control', 'readonly': True}), 'rooms': widgets.TextInput(attrs={'class': 'form-control', 'readonly': True}), 'size': widgets.TextInput(attrs={'class': 'form-control', 'readonly': True}), 'price': widgets.TextInput(attrs={'class': 'form-control', 'readonly': True}), 'category': widgets.Select(attrs={'class': 'form-control', 'disabled': True}), 'seller': widgets.Select(attrs={'class': 'form-control', 'disabled': True}), 'buyer': forms.HiddenInput() }
def __init__(self, data=None, files=None, request=None, *args, **kwargs): if request is None: raise TypeError("Keyword argument 'request must be supplies'") super(GrocerySendMail, self).__init__(data=data, files=files, *args, **kwargs) self.request = request # set up the return email address and sender name to the user logged in if request.user.is_authenticated(): self.fields['to_email'].initial = request.user.email self.to_email = forms.EmailField(widget=forms.TextInput(), label=_('email address')) self.gid = forms.CharField(widget=forms.HiddenInput()) self.from_email = settings.DEFAULT_FROM_EMAIL self.from_site = Site.objects.get_current() self.subject = _('Grocery list from ' + str(from_site))
def __init__(self, eklid, *args, **kwargs): super(SimbouloiForm, self).__init__(*args, **kwargs) # SOS!!! κάνω override την μέθοδο Init και αρχικοποίηση των dropdown perid, sindid, koinid # Παίρνω μόνο perid, sindid, koinid που έχουν καταχωρηθεί στην τρέχουσα εκλ. αναμέτρηση μόνο self.fields['perid'].queryset = Perifereies.objects.filter( perid__in=Eklper.objects.filter(eklid=eklid).values_list('perid')) self.fields['koinid'].queryset = Koinotites.objects.filter( koinid__in=Eklperkoin.objects.filter( eklid=eklid).values_list('koinid')) self.fields['perid'].widget.attrs['id'] = 'perid_of_simbouloi' q = Q(sindid__in=Eklsind.objects.filter( eklid=eklid).values_list('sindid')) | Q( sindid__in=Eklsindkoin.objects.filter( eklid=eklid).values_list('sindid')) self.fields['sindid'].queryset = Sindiasmoi.objects.filter(q) self.fields['hiddenid'].widget = forms.HiddenInput()
class Meta: model = Kentra fields = [ 'descr', 'eggegrammenoia', 'psifisana', 'egkiraa', 'akiraa', 'lefkaa', 'sinoloakiralefkaa', 'comments', 'eklid', 'perid', 'koinid', 'eggegrammenoib', 'psifisanb', 'egkirab', 'akirab', 'lefkab', 'sinoloakiralefkab', 'eggegrammenoik', 'psifisank', 'egkirak', 'akirak', 'lefkak', 'sinoloakiralefkak' ] labels = { 'descr': _('Περιγραφή'), 'eggegrammenoia': _('Εγγεγραμμένοι (Α Κυριακή)'), 'psifisana': _('Ψήφισαν (Α Κυριακή)'), 'egkiraa': _('Έγκυρα (Α Κυριακή)'), 'akiraa': _('Άκυρα (Α Κυριακή)'), 'lefkaa': _('Λευκά (Α Κυριακή)'), 'sinoloakiralefkaa': _('Σύνολο Άκυρα+Λευκά (Α Κυριακή)'), 'comments': _('Επιπλέον περιγραφή'), 'eklid': _('Εκλ. Αναμέτρηση'), 'perid': _('Εκλ. Περιφέρεια'), 'koinid': _('Κοινότητα'), 'eggegrammenoib': _('Εγγεγραμμένοι (Β Κυριακή)'), 'psifisanb': _('Ψήφισαν (Β Κυριακή)'), 'egkirab': _('Έγκυρα (Β Κυριακή)'), 'akirab': _('Άκυρα (Β Κυριακή)'), 'lefkab': _('Λευκά (Β Κυριακή)'), 'sinoloakiralefkab': _('Σύνολο Άκυρα+Λευκά (Β Κυριακή)'), 'eggegrammenoik': _('Εγγεγραμμένοι (Εκλογές Κοινότητας)'), 'psifisank': _('Ψήφισαν (Εκλογές Κοινότητας)'), 'egkirak': _('Έγκυρα (Εκλογές Κοινότητας)'), 'akirak': _('Άκυρα (Εκλογές Κοινότητας)'), 'lefkak': _('Λευκά (Εκλογές Κοινότητας)'), 'sinoloakiralefkak': _('Σύνολο Άκυρα+Λευκά (Εκλογές Κοινότητας)'), } widgets = { #κρυφό πεδίο αφού θα παίρνει αυτόματα τιμή από το view χωρίς την παρέμβαση του χρήστη 'eklid': forms.HiddenInput(), #'perid': forms.HiddenInput(), }