@@ 112-162 (lines=51) @@ | ||
109 | ||
110 | self.assertEqual(out, "Success") |
|
111 | ||
112 | def test_permissionif_tag_with_obj(self): |
|
113 | from permission.tests.models import Article |
|
114 | from permission.handlers import PermissionHandler |
|
115 | ||
116 | user = create_user('permission_templatetag_test_user1') |
|
117 | art1 = create_article('permission_templatetag_test_article1') |
|
118 | art2 = create_article('permission_templatetag_test_article2') |
|
119 | create_permission('permission_templatetag_test_perm1') |
|
120 | ||
121 | class ArticlePermissionHandler(PermissionHandler): |
|
122 | ||
123 | def has_perm(self, user_obj, perm, obj=None): |
|
124 | if perm == 'permission.permission_templatetag_test_perm1': |
|
125 | if (obj and obj.title == |
|
126 | 'permission_templatetag_test_article2'): |
|
127 | return True |
|
128 | return False |
|
129 | registry.register(Article, ArticlePermissionHandler) |
|
130 | ||
131 | self.assertFalse( |
|
132 | user.has_perm('permission.permission_templatetag_test_perm1')) |
|
133 | self.assertFalse( |
|
134 | user.has_perm('permission.permission_templatetag_test_perm1', |
|
135 | art1)) |
|
136 | self.assertTrue( |
|
137 | user.has_perm('permission.permission_templatetag_test_perm1', |
|
138 | art2)) |
|
139 | ||
140 | context = Context({ |
|
141 | 'user': user, |
|
142 | 'art1': art1, |
|
143 | 'art2': art2, |
|
144 | }) |
|
145 | ||
146 | out = Template( |
|
147 | "{% load permissionif %}" |
|
148 | "{% permission user has " |
|
149 | "'permission.permission_templatetag_test_perm1' %}" |
|
150 | "Fail" |
|
151 | "{% elpermission user has " |
|
152 | "'permission.permission_templatetag_test_perm1' of art1 %}" |
|
153 | "Fail" |
|
154 | "{% elpermission user has " |
|
155 | "'permission.permission_templatetag_test_perm1' of art2 %}" |
|
156 | "Success" |
|
157 | "{% else %}" |
|
158 | "Fail" |
|
159 | "{% endpermission %}" |
|
160 | ).render(context) |
|
161 | ||
162 | self.assertEqual(out, "Success") |
|
163 | ||
164 | def test_permissionif_tag_and(self): |
|
165 | user = create_user('permission_templatetag_test_user1') |
|
@@ 327-376 (lines=50) @@ | ||
324 | ||
325 | self.assertEqual(out, "Success") |
|
326 | ||
327 | def test_permissionif_tag_with_obj(self): |
|
328 | from permission.tests.models import Article |
|
329 | from permission.handlers import PermissionHandler |
|
330 | ||
331 | user = create_user('permission_templatetag_test_user1') |
|
332 | art1 = create_article('permission_templatetag_test_article1') |
|
333 | art2 = create_article('permission_templatetag_test_article2') |
|
334 | create_permission('permission_templatetag_test_perm1') |
|
335 | ||
336 | class ArticlePermissionHandler(PermissionHandler): |
|
337 | ||
338 | def has_perm(self, user_obj, perm, obj=None): |
|
339 | if perm == 'permission.permission_templatetag_test_perm1': |
|
340 | if (obj and obj.title == |
|
341 | 'permission_templatetag_test_article2'): |
|
342 | return True |
|
343 | return False |
|
344 | registry.register(Article, ArticlePermissionHandler) |
|
345 | ||
346 | self.assertFalse( |
|
347 | user.has_perm('permission.permission_templatetag_test_perm1')) |
|
348 | self.assertFalse( |
|
349 | user.has_perm('permission.permission_templatetag_test_perm1', |
|
350 | art1)) |
|
351 | self.assertTrue( |
|
352 | user.has_perm('permission.permission_templatetag_test_perm1', |
|
353 | art2)) |
|
354 | ||
355 | context = Context({ |
|
356 | 'user': user, |
|
357 | 'art1': art1, |
|
358 | 'art2': art2, |
|
359 | }) |
|
360 | ||
361 | out = Template( |
|
362 | "{% permission user has " |
|
363 | "'permission.permission_templatetag_test_perm1' %}" |
|
364 | "Fail" |
|
365 | "{% elpermission user has " |
|
366 | "'permission.permission_templatetag_test_perm1' of art1 %}" |
|
367 | "Fail" |
|
368 | "{% elpermission user has " |
|
369 | "'permission.permission_templatetag_test_perm1' of art2 %}" |
|
370 | "Success" |
|
371 | "{% else %}" |
|
372 | "Fail" |
|
373 | "{% endpermission %}" |
|
374 | ).render(context) |
|
375 | ||
376 | self.assertEqual(out, "Success") |
|
377 | ||
378 | def test_permissionif_tag_and(self): |
|
379 | user = create_user('permission_templatetag_test_user1') |
|
@@ 516-563 (lines=48) @@ | ||
513 | ||
514 | self.assertEqual(out, "Success") |
|
515 | ||
516 | def test_if_tag_with_obj(self): |
|
517 | from permission.tests.models import Article |
|
518 | from permission.handlers import PermissionHandler |
|
519 | ||
520 | user = create_user('permission_templatetag_test_user1') |
|
521 | art1 = create_article('permission_templatetag_test_article1') |
|
522 | art2 = create_article('permission_templatetag_test_article2') |
|
523 | create_permission('permission_templatetag_test_perm1') |
|
524 | ||
525 | class ArticlePermissionHandler(PermissionHandler): |
|
526 | def has_perm(self, user_obj, perm, obj=None): |
|
527 | if perm == 'permission.permission_templatetag_test_perm1': |
|
528 | if (obj and obj.title == |
|
529 | 'permission_templatetag_test_article2'): |
|
530 | return True |
|
531 | return False |
|
532 | registry.register(Article, ArticlePermissionHandler) |
|
533 | ||
534 | self.assertFalse( |
|
535 | user.has_perm('permission.permission_templatetag_test_perm1')) |
|
536 | self.assertFalse( |
|
537 | user.has_perm('permission.permission_templatetag_test_perm1', |
|
538 | art1)) |
|
539 | self.assertTrue( |
|
540 | user.has_perm('permission.permission_templatetag_test_perm1', |
|
541 | art2)) |
|
542 | ||
543 | context = Context({ |
|
544 | 'user': user, |
|
545 | 'art1': art1, |
|
546 | 'art2': art2, |
|
547 | }) |
|
548 | ||
549 | out = Template( |
|
550 | "{% if user has 'permission.permission_templatetag_test_perm1' %}" |
|
551 | "Fail" |
|
552 | "{% elif user has " |
|
553 | "'permission.permission_templatetag_test_perm1' of art1 %}" |
|
554 | "Fail" |
|
555 | "{% elif user has " |
|
556 | "'permission.permission_templatetag_test_perm1' of art2 %}" |
|
557 | "Success" |
|
558 | "{% else %}" |
|
559 | "Fail" |
|
560 | "{% endif %}" |
|
561 | ).render(context) |
|
562 | ||
563 | self.assertEqual(out, "Success") |
|
564 | ||
565 | def test_if_tag_and(self): |
|
566 | user = create_user('permission_templatetag_test_user1') |