Nachdem ich mich lange gewundert hatte, warum die Validierung eines eigentlich fehlerhaften Objekts

$niveau = Doctrine::getTable('Niveaus')
    ->findOneByProfilIdAndKompetenzId(
        $profil_id, $id
);
$niveau->setNiveau(20); // Es sind nur Werte im Bereich 1-5 erlaubt
$niveau->isValid();     // gibt dennoch true zurück

nie fehlgeschlagen ist, bin ich jetzt hinter das Ganze gestiegen:

In der Konfiguration des symfony-Plugins sfDoctrinePlugin (das standardmäßig in symfony enthalten ist) steht ganz einfach still und heimlich:

// lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/config/sfDoctrinePluginConfiguration.class.php
 
$manager = Doctrine_Manager::getInstance();
...
$manager->setAttribute(Doctrine_Core::ATTR_VALIDATE, Doctrine_Core::VALIDATE_NONE);

Dies hat zur Folge, dass die Objektvalidierung eines Doctrine_Records nicht aktiv ist und diese einfach “übergangen” wird.

$niveau->isValid();

gibt in diesem Fall einfach “true” zurück. Siehe:

// lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php
 
/**
 * tests validity of the record using the current data.
 *
 * @param boolean $deep   run the validation process on the relations
 * @param boolean $hooks  invoke save hooks before start
 * @return boolean        whether or not this record is valid
 */
public function isValid($deep = false, $hooks = true)
{
    if ( ! $this->_table->getAttribute(Doctrine_Core::ATTR_VALIDATE)) {
        return true;
    }
...

Abhilfe:
Ich habe für mein Projekt die Validierung global aktiviert, so dass ich sie in jeder Applikation des Projekts verwenden kann.

// config/ProjectConfiguration.class.php 
 
// configure doctrine engine
public function configureDoctrine(Doctrine_Manager $manager) {
    // enable validation for doctrine records
    $manager->setAttribute(Doctrine_Core::ATTR_VALIDATE, Doctrine_Core::VALIDATE_ALL);
}

Fertig!

Die Anwendung »sass« ist momentan nicht installiert

Posted: 19th Januar 2012 by mahadi in sass, Ubuntu

Nachdem auch ich sass entdeckt habe, möchte ich doch einen kleinen Stolperstein aus dem Weg räumen, über den ich dummerweise auch gestolpert bin:

Auf der Website von sass heißt es ganz einfach:

gem install sass
sass --watch .:../compiled/

Um Dateien im aktuellen Verzeichnis automatisch bei Änderungen zu übersetzen. Gesagt getan und zack:

Die Anwendung »sass« ist momentan nicht installiert. Sie können es durch folgende Eingabe installieren:
sudo apt-get install libhaml

Einfache Ursache: Das gem-Verzeichnis befindet sind nicht im Pfad.
Lösung:

# add gem executables to path
export PATH=$PATH:/var/lib/gems/1.8/bin

in die .basrc im home-Verzeichnis schreiben, Terminal neu starten und los gehts ;)

Ubuntu hängt beim booten beim Laden von modem-manager

Posted: 9th Oktober 2011 by mahadi in Ubuntu

Nach langer Zeit wieder mal ein Post:

Beim Hochfahren meines Notebooks konnte ich von heute auf morgen ein seltsames Verhalten feststellen: Ubuntu (10.04) hängt sich beim Hochfahren auf und zwar an dieser Stelle:

[...]
modem-manager: Loaded plugin Gobi  
modem-manager: Loaded plugin Nokia  
modem-manager: Loaded plugin Generic  
modem-manager: Loaded plugin Longcheer  
modem-manager: Loaded plugin Novatel  
modem-manager: Loaded plugin Sierra  
modem-manager: Loaded plugin AnyData  
modem-manager: Loaded plugin Option High-Speed  
modem-manager: Loaded plugin ZTE  
modem-manager: Loaded plugin Option  
modem-manager: Loaded plugin MotoC  
modem-manager: Loaded plugin Huawei  
modem-manager: Loaded plugin Ericsson MBM
[...]

Die Auswahl von verschiedenen Kernelversionen bzw. dem Recoverymode brachte hier aber keine Änderung. Genauso wenig kann ich hier mit einer Problemlösung dienen, denn auch Google hat hier nicht weiter geholfen. Ich habe über Nacht keine Änderung am PC bzgl. UMTS-Modem oder Sonstiges vollbracht.

Das Problem hat sicher eher per Zufall gelöst: Nachdem ich so oft neu gestartet hatte, dass die Platte überprüft wurde, gings nach der Überprüfung auf einmal…

Mit dem Rad von Passau nach Wien

Posted: 30th August 2010 by mahadi in Reisen
Tags: , , ,

1. Tag: Abfahrt

Früh morgens gehts mit dem Auto nach Passau.

Radtransport nach Passau

Radtransport nach Passau

Ein Beinaheunfall auf dem Weg nach Passau. Oder doch nicht? (Schau genau hin)

Riskantes Überholmanöver?

Riskantes Überholmanöver?

Am Langzeitparkplatz bereiten wir uns auf den Start der Tour vor. Natürlich nur mit Aufwärmübungen!

Startvorbereitungen am Parkplatz

Startvorbereitungen am Parkplatz

Read the rest of this entry »

Pages: 1 2 3 4

Reminderfox per FTP synchronisieren

Posted: 3rd August 2010 by mahadi in Firefox, Thunderbird
Tags:

Mittlerweile benutze ich auch das Firefox/Thunderbird Addon Reminderfox. Damit kann man Termine und Aufgaben zeitlich ähnlich organisieren wie mit Lightning. Was mir bei der Benutzung von Reminderfox wichtig war, ist die Synchronisationsmöglichkeit über das Netzwerk. Und genau dieses “Feature” bietet Reminderfox. Eine Synchronisation ist per FTP bzw. WebDAV möglich. Ich habe hierbei FTP gewählt.

Geht eigentlich auch ganz einfach: Den Server, das Verzeichnis, wo der Kalender liegen soll, und Zugangsdaten müssen eingetragen werden. Das habe ich meiner Meinung nach auch richtig gemacht, doch bekam ich ständig den Fehler:

Unerwarteter Fehler! (2147500037)

Die Google-Suche und Suche in der Mailingliste des Reminderfox-Projekts haben mich leider nicht wirklich weiter gebracht. Die Lösung war dabei eigentlich recht einfach:
Meine Eingaben waren:

ftp://servername/kontoname/ordner/dateiname

richtig wäre allerdings gewesen:

ftp://servername/ordner/dateiname

Der Kontoname hat hier nichts zu suchen; und schon läufts wie am Schnürchen.

Den einzigen Nachteil den Remindefox noch hat, ist die fehlende “große” Kalenderansicht, wie es sie bei Lightning gibt.