20101221

Done:

  1. Vorbelegung Contract.user_asd von Person.user (zumindest wenn Person.user ein anderer als Contract.user ist).

  2. Upps, wenn man ins Detail einer Person gehen will, machte der Server “FieldError: Cannot resolve keyword ‘sort_name’ into field. Choices are: …” scheinbar hat QuerySet.values_list(‘pk’,flat=True) ein Problem damit, dass ich auf einer virtuellen (mit extra erzeugten) Kolonne sortiere. Aber laut http://www.djangoproject.com/documentation/models/lookup/ müsste das doch kein Problem sein? Ein Fehler war: wenn ich auf einer extra-Kolonne sortieren will, dann darf ich nicht das normale order_by benutzen, sondern das muss ich in extra(order_by=[‘foo’] deklarieren. Aber das reicht noch nicht: siehe Ticket docs/tickets/19. En attendant habe ich die Sortierung von Personen wieder auf den Standardwert (ASCII) gesetzt, also Kleinbuchstaben kommen wieder hinter den Großbuchstaben.

  3. Auswahllisten FR für aid_nature und aid_rate waren noch leer

  4. Development release in Eupen mit den obigen Änderungen.

  5. Außerdem habe ich auf dem Server in Eupen folgendes gemacht:

    aptitude install sqlite3
    aptitude remove sqlite
    aptitude install python-pysqlite2
    
  6. Uncaught TypeError: Cannot read property ‘id’ of undefined wenn man Kontakte ‣ Firmen wählt. Das lag daran, dass es eine lokale contacts.Companies.py gab, die noch das alte Feld addr1 enthielt, das ja inzwischen addr2 heißt. In so einem Fall sollte natürlich eine Fehlermeldung kommen statt mich eine halbe Stunde lag suchen zu lassen.

    Wenn ich schon daran arbeite, ändere ich auch das Format von py nach yaml. Wie ging das nochmal? Richtig:

    >>> import yaml
    >>> d = dict(a=1,b=[1,2,3],c=None)
    >>> yaml.dump(d)
    'a: 1\nb: [1, 2, 3]\nc: null\n'
    >>>
    

    15.08 Uhr. Voilà, die .py-Dateien im DATA_DIR können jetzt gelöscht werden. Stattdessen benutzt er jetzt .rpt-Dateien, die im YAML-Format geschrieben sind. Ich schätze mal, dass die leichter zu bearbeiten sind.

  7. Die folgenden beiden Probleme sind momentan nicht reproduzierbar:

  1. TypeError: Cannot convert Decimal(“350”) to Decimal wenn er Company.hourly_rate in einen Vertrag übernimmt.
  2. Nach dem Löschen eines Vertrags verschwindet dieser erst aus der Grid wenn man ein Refresh macht. Refresh wird nicht automatisch gemacht.
  1. Upgrade ExtJS (to 3.3.1) and Django (to rev. 14995) in Eupen.
  2. Neue Methode Person.get_full_name()

(Release)

  1. __unicode__ in ContractType und ExamPolicy benutzen jetzt babelattr(self,’name’). Mal sehen, ob das funktioniert.
  2. Report.order_by muss jetzt eine Liste von Feldnamen sein und nicht mehr ein space-separated string. Sonst ist das zu irritierend für Leute, die Django kennen.
  3. Wenn man Contract.user_asd auf leer setzte, dann setzte Lino erneut den Standardwert (nämlich self.person.user) dort ein. Jetzt macht er das nur noch in on_create. Eigentlich müsste er es auch noch machen, wenn self.person verändert wurde.