Προς το περιεχόμενο
  • 0

Μαζική επεξεργασία με μία φόρμα


L34x88iT

Ερώτηση

Καλησπέρα. Έχω φτιάξει ένα πίνακα στην βάση για να παίρνω κάποιες τιμες (σαν settings) δικαιωμάτων. Μετά με μία function που δίνω σαν παράραμετρο το id του permission, παίρνω απάντηση των ρόλο, οπού 1 είναι διαχειριστής, 2 Αρχισυντάκτης, 3 Συντάκτης. Μέσα στην function συγκρίνω τον ρόλο του χρήστη με αυτό του permission και αν έχει δικαιώματα παίρνω true, αλλιώς false.

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

πχ
 

permissionId | PermissionTitle | PermissionMinRole
1 | Write_article | 3
2 | Edit_article | 3
3 | Publish_article | 2
4 | Add_author | 1

Όλα τα παραπάνω δουλεύουν μια χαρά, απλά τα έγραψα για να έχετε μια εικόνα στο πρόβλημα που θα γράψω παρακάτω.

Στον πίνακα αυτόν έχω βάλει γύρω στα 80 permissions. Μετά έχω βάλει την function σε όλα τα σημεία που θέλω να ελέγξω. Σε πολλες σελίδες. Το πρόβλημα που αντιμετώπισα τώρα και δεν το είχα σκεφθεί, είναι που θέλω να φτιάξω μία φόρμα html για να αλλάζω τα δικαιώματα αυτά. Όμως το κάθε permission είναι και ένα διαφορετικό row.

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

Αν το είχα κάνει εξαρχής σε ένα row, δηλαδή
 

id | Write_article | Edit_article | Publish_article | Add_aythor
1 | 3 | 3 | 2 | 1 

Δεν θα είχα πρόβλημα γιατί θα έπερνα τα post από την φόρμα και θα τα έβαζα με

$data = array('
"Write_article" => 3,
"Edit_article" => 3,
"Publish_article" => 2,
"Add_author" => 1
')

......where('id',1);
......insert('permissions',$data);

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

Τώρα όμως; υπάρχει λύση, ωστε να μην τα φτιάξω από την αρχή και φυσικά να μην χρειαστεί να φτιάξω 80 φόρμες;

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

Υ.Γ. Μια άλλη λύση σκέφτηκα να παίρνω όλα τα ποστ από την φόρμα στο κοντρολερ και μετα να κανω 80 φορές το βήμα:
 

$data = array('"Write_article" => 3')
......where('id',1);
......insert('permissions',$data);

$data = array('"Edit_article" => 3')
......where('id',2);
......insert('permissions',$data);

$data = array('"Publish_article" => 3')
......where('id',3);
......insert('permissions',$data);

κλπ κλπ

Αλλά δεν μου φαίνεται και αυτός καλός τρόπος. Έχετε να προτείνετε κάτι άλλο;

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • Απαντήσεις 32
  • Δημιουργία
  • Τελευταία απάντηση

Συχνή συμμετοχή στην ερώτηση

Συχνή συμμετοχή στην ερώτηση

Δημοφιλή Μηνύματα

Δυστηχώς όχι Γενικά παντώς ισχύει ότι κάθε model πχ  Post (αν καταλαβαίνω καλά τι είναι το Post) έχει 4 permission read write update delete (μπορεί να τα δεις και αλλιώς view create klp) που αντι

Με την υπάρχουσα δομή του πίνακα permissions, κάθε Permission μπορεί να ανήκει μόνο σε ένα Role. Αυτό είναι που θέλεις; Τι θα κάνεις αν δυο Roles θα χρειαστεί να διαθέτουν το ίδιο Permission; θα επανα

Δε καταλαβαίνω γιατί χρειάζεσαι 80 (!!!!) διαφορετικά permissions - anyway, εγώ θα έπαιζα με Bitwise Operators. Δηλαδή: permissionId | PermissionTitle | PermissionMinRole | weight 1    | READ  

Δημοσιευμένες Εικόνες

Προτεινόμενες αναρτήσεις

  • 0

Ούτε κι εγώ κατηγόρησα το django (για το οποίο δηλώνω παντελή άγνοια) επειδή αν το έκανα θα ήμουν πραγματικά εκτός θέματος αλλά, ούτε και μέμφθηκα προσωπικά εσένα αφού η [όποια] κριτική μου προσπαθώ να μην περιλαμβάνει τα πρόσωπα αλλά μόνο τις απόψεις, τις πεποιθήσεις και τις συμπεριφορές στις οποίες βασίζονται. Αντιθέτως θεωρώ πολύ χρήσιμη τη συμβολή σου –και όχι μόνο σε αυτό το νήμα– και χαίρομαι που μοιράζεσαι μαζί μας το χρόνο, τις γνώσεις και την εμπειρία σου. Εγώ απλά είδα ένα απόσπασμα από ένα σχήμα και έθεσα τα σχόλιά μου στα σημεία τα οποία έκρινα χρήσιμο να θίξω – εντελώς θεωρητικά.

Ένα schema καθορίζεται από τους κανόνες αρχιτεκτονικής της SQL ενώ οι ανάγκες των χρηστών καθορίζουν τον αριθμό των πινάκων και των πεδίων τους στα οποία θα πρέπει να αποθηκεύονται πρωτογενείς τιμές και όχι νοήματα, δεδομένα και όχι πληροφορίες. Τα νοήματα και οι πληροφορίες [θα πρέπει να] προκύπτουν από τις συσχετίσεις των δεδομένων τιμών και [θα πρέπει να] είναι αποτέλεσμα υπο-λογισμού.

Αφού όμως θέλεις να στρέψεις τη συζήτηση στο πεδίο των προσωπικών προτιμήσεων, φοβάμαι πως γι’ αυτό το πεδίο δεν έχω κάτι χρήσιμο να θέσω.

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Φίλε μου ίσως όντως η οργάνωση να μπορούσε να είναι καλύτερη, αλλά έτσι όπως είναι , αυτό που θα έκανα εγώ μου φαίνεται τόσο απλό που σκέφτομαι οτι είμαι πολύ χαζός και θα πετάξω κοτσάνα γιατι κάτι δεν κατάλαβα καλά.

Φόρτωσε σε ένα html select όλα τα permissions από τη βάση και βάλε και 2 inputs ένα για permisionTitle και ένα για minRole.
Μετά επιλέγεις απο dropdown το permission ,αλλάζεις role ή και title και κάνεις update με id.

Εκτός αν ήθελες να τα αλλάζεις μαζικά ..

Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα

  • Δημιουργία νέου...

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.