Hello,

As discussed above I spend mos of my evening learning about
manipulator. I was pretty happy since it seems much more difficult than
it is.
This is what I thaught when I did the couple of examples I found  on
the web.

So what I did is generate the custom manipulator using the script that
I found there: http://code.djangoproject.com/wiki/ManipulatorScript

The first trouble I had was with radio_admin. Django for some reason
was complaining about them. Here it is the message:
++++++++++++++++++++++++++
TypeError at /profiles/create_manip/
__init__() got an unexpected keyword argument 'radio_admin'
Request Method:         POST
Request URL:    http://localhost:8000/profiles/create_manip/
Exception Type:         TypeError
Exception Value:        __init__() got an unexpected keyword argument
'radio_admin'
Exception Location:
        
E:\instal\django\view_servicealapersonne\votreservice\..\votreservice\announceManager\views.py
in __init__, line 58
++++++++++++++++++++++++++
So I remove those keyword. Does someone can tell me what I should do to
solve this?
Once I remove radio_admin everyting seems to work except the statement:
manipulator.save(new_data)

==========================
The Model
======================
class Profile(meta.Model):
    user =meta.ForeignKey(User)
    pseudo = meta.CharField(maxlength=30,core=True)
    gender=
meta.ForeignKey(Gender,radio_admin=True,null=True,blank=True)
    address = meta.TextField(maxlength=300,null=True,blank=True)
    phonenumber = meta.CharField(maxlength=10,null=True,blank=True)
    want_to_publised_personal_info = meta.BooleanField()
    #photo = meta.ImageField(upload_to="memberPhoto",null=True)
    localisation =
meta.ManyToManyField(Localisation,null=True,blank=True,filter_interface=meta.HORIZONTAL)
    memberShipLevel = meta.ForeignKey(Membership,radio_admin=True)
    def __repr__(self):
        return self.pseudo
    class META:
        admin = meta.Admin(
                    fields = (
                    ('General information',{'fields':
('user','localisation')}),
                    ('Online information',{'fields':
('pseudo','memberShipLevel','want_to_publised_personal_info')}),
                    ('Optional information',{'fields':
('gender','address','phonenumber')}),
                    ),
                    list_display =
('user','pseudo','want_to_publised_personal_info','phonenumber'),
                    ordering = ['pseudo'],
        )


====================
views.py
===============

@login_required
def profiles_create_manipulator(request):
    manipulator =announceManagerProfileManipulator()
    logged_in_user=request.user
    if request.POST:
        new_data = request.POST.copy()
        errors = manipulator.get_validation_errors(new_data)
        if not errors:
            manipulator.do_html2python(new_data)
            manipulator.save(new_data)
            return render_to_response("announceManager/profiles_index")
    else:
        errors = new_data = {}
    form = formfields.FormWrapper(manipulator, new_data, errors)
    return render_to_response('announceManager/profiles_form', {'form':
form})

class announceManagerProfileManipulator(formfields.Manipulator):
    def __init__(self, pk=None):
        self.fields = (
            formfields.SelectField(field_name='user', is_required=True,
choices=[('','-------')] + [(o.id, o) for o in users.get_list()]),
            formfields.TextField(field_name='pseudo', is_required=True,
maxlength=30),
            #formfields.SelectField(field_name='gender',
radio_admin=True, choices=[('','-------')] + [(o.id, o) for o in
genders.get_list()]),
            formfields.SelectField(field_name='gender',
choices=[('','-------')] + [(o.id, o) for o in genders.get_list()]),
            formfields.TextField(field_name='address', maxlength=300),
            formfields.TextField(field_name='phonenumber',
maxlength=10),

formfields.CheckboxField(field_name='want_to_publised_personal_info'),
            #formfields.SelectField(field_name='memberShipLevel',
is_required=True, radio_admin=True, choices=[('','-------')] + [(o.id,
o) for o in membershiplevels.get_list()]),
            formfields.SelectField(field_name='memberShipLevel',
is_required=True, choices=[('','-------')] + [(o.id, o) for o in
memberships.get_list()]),
            formfields.SelectMultipleField(field_name='localisation',
choices=[(o.id, o) for o in localisations.get_list()]),
        )

    def save(self, new_data):
        temp = Profile(
            user=new_data['user'],
            pseudo=new_data['pseudo'],
            gender=new_data['gender'],
            address=new_data['address'],
            phonenumber=new_data['phonenumber'],

want_to_publised_personal_info=new_data['want_to_publised_personal_info'],
            memberShipLevel=new_data['memberShipLevel']
        )
        temp.set_localisation(newdata['localisation'])
        temp.save()
        return temp
=================
prodiles_form.py
============

{% block content %}
{% block js %}
<script type="text/javascript" src="/admin/jsi18n/"></script>
<script type="text/javascript" src="/media/js/core.js">
</script><script type="text/javascript"
src="/media/js/admin/RelatedObjectLookups.js">
</script><script type="text/javascript" src="/media/js/calendar.js">
</script><script type="text/javascript"
src="/media/js/admin/DateTimeShortcuts.js"></script>
</script><script type="text/javascript"
src="/media/js/SelectBox.js"></script>
</script><script type="text/javascript"
src="/media/js/SelectFilter2.js"></script>

{% endblock %}

{% if object %}
<h1>Update Profile:</h1>
{% else %}
<h1>Create a Profile</h1>
{% endif %}

{% if form.has_errors %}
<h2>Please correct the following error{{ form.errors|pluralize }}:</h2>
{% endif %}

<form method="POST" action=".">
  <p>
    <label for="id_user">User:</label>
    {{ form.user }}
    {% if form.user.errors %}
      *** {{ form.user.errors|join:", " }}
    {% endif %}
  </p>
    <p>
    <label for="id_pseudo">pseudo:</label>
    {{ form.pseudo }}
    {% if form.pseudo.errors %}
      *** {{ form.pseudo.errors|join:", " }}
    {% endif %}
  </p>
  <p>
    <label for="id_gender">gender:</label>
    {{ form.gender }}
    {% if form.gender.errors %}
      *** {{ form.gender.errors|join:", " }}
    {% endif %}
  </p>
  <p>
    <label for="id_address">address:</label>
    {{ form.address }}
    {% if form.address.errors %}
      *** {{ form.address.errors|join:", " }}
    {% endif %}
  </p>
  <p>
    <label for="id_phonenumber">phonenumber:</label>
    {{ form.phonenumber }}
    {% if form.phonenumber.errors %}
      *** {{ form.phonenumber.errors|join:", " }}
    {% endif %}
  </p>
  <p>
    <label for="id_want_to_publised_personal_info">want to publised
personal info:</label>
    {{ form.want_to_publised_personal_info }}
    {% if form.want_to_publised_personal_info.errors %}
      *** {{ form.want_to_publised_personal_info.errors|join:", " }}
    {% endif %}
  </p>
  <p>
    <label for="id_localisation">localisation:</label>
    {{ form.localisation }}
    {% if form.localisation.errors %}
      *** {{ form.localisation.errors|join:", " }}
    {% endif %}
  </p>
  <p>
    <label for="id_memberShipLevel">membership:</label>
    {{ form.memberShipLevel }}
    {% if form.memberShipLevel.errors %}
      *** {{ form.memberShipLevel.errors|join:", " }}
    {% endif %}
  </p>
<input type="submit" value="submit" />
</form>

{% endblock %}

==========================
The error I am getting
===================
Traceback (most recent call last):

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\servers\basehttp.py",
line 272, in run
    self.result = application(self.environ, self.start_response)

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\servers\basehttp.py",
line 615, in __call__
    return self.application(environ, start_response)

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\handlers\wsgi.py",
line 155, in __call__
    response = self.get_response(request.path, request)

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\handlers\base.py",
line 109, in get_response
    return self.get_technical_error_response(request)

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\handlers\base.py",
line 139, in get_technical_error_response
    return debug.technical_500_response(request, *sys.exc_info())

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\views\debug.py",
line 126, in technical_500_response
    return HttpResponseServerError(t.render(c), mimetype='text/html')

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\template\__init__.py",
line 146, in render
    return self.nodelist.render(context)

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\template\__init__.py",
line 707, in render
    bits.append(self.render_node(node, context))

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\template\__init__.py",
line 725, in render_node
    result = node.render(context)

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\template\defaulttags.py",
line 112, in render
    nodelist.append(node.render(context))

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\template\defaulttags.py",
line 179, in render
    return self.nodelist_true.render(context)

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\template\__init__.py",
line 707, in render
    bits.append(self.render_node(node, context))

  File
"c:\python24\lib\site-packages\django-0.91-py2.4.egg\django\core\template\__init__.py",
line 735, in render_node
    raise wrapped

TemplateSyntaxError: Caught an exception while rendering.



=====================


I hope that I gave you all the needed information to help me.

Thank you for your time and support.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to