Advertisement
Guest User

Untitled

a guest
Nov 17th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. function UsuarioModel() {
  2. var self = this;
  3.  
  4. self.id = ko.observable(null);
  5. self.apelido = ko.observable(null);
  6. self.usuarioGrupo = ko.observable(null);
  7.  
  8. self.hasPerfil = function(perfil) {
  9. if (!self.usuarioGrupo() || !self.usuarioGrupo().perfis || !self.usuarioGrupo().perfis()) {
  10. return false;
  11. }
  12.  
  13. return !!ko.utils.arrayFirst(self.usuarioGrupo().perfis(), function(currentPerfil) {
  14. return currentPerfil === perfil;
  15. });
  16. };
  17.  
  18. self.hasRule = function(rule) {
  19. if (!rule) {
  20. return true;
  21. }
  22.  
  23. var compiledRule = rule.replace(/\{(.*?)\}/g, 'self.hasPerfil("$1")').replace(/\ AND\ /gi, ' && ').replace(/\ OR\ /gi, ' || ');
  24.  
  25. return eval(compiledRule);
  26. };
  27.  
  28. self.hasAtLeastOneRule = function(rules) {
  29. if (rules) {
  30. return !!ko.utils.arrayFirst(rules, function(currentRule) {
  31. return self.hasRule(currentRule);
  32. });
  33. }
  34.  
  35. return false;
  36. };
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement