Πέμπτη 31 Μαΐου 2012

Revamped Admin's User Search

Πριν:

Η λειτουργία που έδινε τη δυνατότητα στον admin να ψάξει τους εγγεγραμμένους χρήστες και να δει αναλυτικά τα στοιχεία τους χρειαζόταν αρκετή διαμόρφωση. Αρχικά για να βρεις ένα χρήστη έπρεπε να ξέρεις ακριβώς το username του ή το email του. Δεν μπορούσες να γράψεις μέρος του username του. Επίσης τα αποτελέσματα εμφανιζόντουσαν σε raw μορφή δηλαδή έτσι όπως ακριβώς τα διάβαζε η rails χωρίς καμία απολύτως μορφοποίηση. Αυτό τα καθιστούσε τραγικά δύσκολο να διαβαστούν. Αυτά φαίνονται και στις παρακάτω εικόνες



Μετά:

Όπως βλέπουμε στις παρακάτω εικόνες πλέον μπορούμε να κάνουμε full text search οπότε δεν χρειάζεται να ξέρουμε ακριβώς το username/email για να βρούμε ένα χρήστη. Επίσης τα αποτελέσματα οργανώθηκαν σε expandable lists. Ακόμα η εμφάνιση δεν είναι τέλεια αλλά νομίζω είναι πολύ καλύτερα από πριν!




Κώδικας:

Αρχικά όσον αφορά την αναζήτηση η μέθοδος user_search στον adminController διαμορφώθηκε ως εξής (Χρησιμοποιώντας την δυνατότητα της mySQL βάσης για full text search μέσω της εντολής LIKE):


Μετά φτιάχτηκε ένα partial view στο οποίο περνάμε το collection @users που επιστρέφει η μέθοδος και, μας δημιουργεί τη λίστα.

το css και το javascript τα οποία δίνουν τη δυνατότητα στη λίστα να είναι expandable είναι τα εξής:

Σάββατο 26 Μαΐου 2012

Seed Admin Rake Task

Αποφασίσαμε λοιπόν να ασχοληθούμε με το admin panel επομένως έπρεπε πρώτα να φτιάξουμε έναν admin χρήστη ώστε να έχουμε πρόσβαση στον πάνελ. Παρατήρησα λοιπόν ότι δεν υπάρχει κάποια διαδικασία δημιουργίας του admin χρήστη. Πρέπει χειροκίνητα να φτιάξεις ένα χρήστη στη βάση δεδομένων και έπειτα να φανταστείς ότι πρέπει να φτιάξεις εγγραφή στον πίνακα roles και ώς name της εγγραφής να βάλεις admin...
Έτσι λοιπόν αποφάσισα να φτιάξω ένα rake task το οποίο διαβάζει από τον φάκελο config ένα αρχείο admin.yml και δημιουργεί τους χρήστες που βρίσκει εκεί μέσα και έπειτα τους δίνει administrative rights.
Για παράδειγμα μπορούμε να δημιουργήσουμε 2 administrators γράφοντας στο admin.yml τα εξής:


admin1:
  name: "Kostas Stavrou"
  username: "kostas4"
  password: "123456"


admin2:
  name: "Thomas Asikis"
  username: "thomas4"
  password: "123456"

και έπειτα τρέχοντας την εντολή "rake admin"

Print Screen από terminal:


Ο κώδικας που εκτελείται είναι ο εξής:

Παρασκευή 25 Μαΐου 2012

Μετά από επικοινωνία με τους developers παρατηρήσαμε ότι έχει αναλάβει άλλος ήδη την εφαρμογή AJAX και σχεδόν έχει ολοκληρωθεί επομένως δεν μπορέσαμε να βοηθήσουμε. Όμως μας έδωσαν διαφορετικές κατευθύνσεις ώστε να μπορέσουμε να συνεισφέρουμε πιο αποδοτικά. Συγκεκριμένα μας είπαν να δώσουμε έμφαση στον administration panel