summaryrefslogtreecommitdiff
path: root/archaeological_operations/widgets.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2013-04-04 22:43:13 +0000
committerÉtienne Loks <etienne.loks@proxience.com>2013-04-04 22:43:13 +0000
commitee8c9ad6004ab35e409c7041a0eba214b45c36d7 (patch)
treea2c624b1ce76c6d57a8a156766e4863710d8ae19 /archaeological_operations/widgets.py
parent56aea239caffef95c481aac3b77a8d43e8d3ca35 (diff)
parente51684c2adb656d3ef14e40e649e280a6c0bf1b8 (diff)
downloadIshtar-ee8c9ad6004ab35e409c7041a0eba214b45c36d7.tar.bz2
Ishtar-ee8c9ad6004ab35e409c7041a0eba214b45c36d7.zip
Merge branch 'master' of lysithea.proxience.net:/home/proxience/git/ishtar
Diffstat (limited to 'archaeological_operations/widgets.py')
-rw-r--r--archaeological_operations/widgets.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/archaeological_operations/widgets.py b/archaeological_operations/widgets.py
new file mode 100644
index 000000000..0e84b2047
--- /dev/null
+++ b/archaeological_operations/widgets.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2013 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# See the file COPYING for details.
+
+from django import forms
+from django.forms import widgets
+
+class ParcelWidget(widgets.MultiWidget):
+ def __init__(self, attrs=None):
+ if not attrs:
+ attrs = {'class':'widget-parcel'}
+ elif 'class' not in attrs:
+ attrs['class'] = 'widget-parcel'
+ else:
+ attrs['class'] += ' widget-parcel'
+ _widgets = (
+ widgets.TextInput(attrs=attrs),
+ widgets.TextInput(attrs=attrs),
+ )
+ super(ParcelWidget, self).__init__(_widgets, attrs)
+
+ def decompress(self, value):
+ if value:
+ return value
+ return [None, None]
+
+ def format_output(self, rendered_widgets):
+ return u' / '.join(rendered_widgets)