示例#1
0
文件: forms.py 项目: Saevon/webdnd
class AlignmentWidget(forms.Widget):

    class Media:
        css = {
            # 'all': ('css/alignment.css',)
        }
        js = ('js/jquery.js', 'js/jquery-draggable.js', 'player/js/alignment.js',)

    def __init__(self, *args, **kwargs):
        self.align = None
        super(AlignmentWidget, self).__init__(*args, **kwargs)

    def render(self, name, value, attrs=None):
        try:
            align = Alignment.objects.get(pk=value)
        except Alignment.DoesNotExist:
            align = Alignment()

        return render_to_string('alignment_widget.html', {
            'align_text': Alignment.to_str(align.align_moral, align.align_order),
            'align': align,
        })

    def value_from_datadict(self, data, files, name):
        pk = data.get('alignment-id', None)
        moral = data.get('alignment-moral', None)
        order = data.get('alignment-order', None)

        if self.align is None:
            # See if this is an existing object, otherwise we're making it
            try:
                self.align = Alignment.objects.get(pk=pk)
            except Alignment.DoesNotExist:
                self.align = Alignment()

        # Update the object with the passed in values
        if not moral is None:
            self.align.align_moral = moral
        if not order is None:
            self.align.align_order = order

        # We need to return a pk .: we need a model...
        # But this also means on validation errors we create tons of new
        # Alignment objects...
        # WTF, there has got to be a better way of doing this
        self.align.save()
        return self.align.id
示例#2
0
文件: forms.py 项目: Saevon/webdnd
    def render(self, name, value, attrs=None):
        try:
            align = Alignment.objects.get(pk=value)
        except Alignment.DoesNotExist:
            align = Alignment()

        return render_to_string('alignment_widget.html', {
            'align_text': Alignment.to_str(align.align_moral, align.align_order),
            'align': align,
        })
示例#3
0
文件: forms.py 项目: Saevon/webdnd
    def value_from_datadict(self, data, files, name):
        pk = data.get('alignment-id', None)
        moral = data.get('alignment-moral', None)
        order = data.get('alignment-order', None)

        if self.align is None:
            # See if this is an existing object, otherwise we're making it
            try:
                self.align = Alignment.objects.get(pk=pk)
            except Alignment.DoesNotExist:
                self.align = Alignment()

        # Update the object with the passed in values
        if not moral is None:
            self.align.align_moral = moral
        if not order is None:
            self.align.align_order = order

        # We need to return a pk .: we need a model...
        # But this also means on validation errors we create tons of new
        # Alignment objects...
        # WTF, there has got to be a better way of doing this
        self.align.save()
        return self.align.id