Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# Imports 

2 

3from django.utils.translation import gettext_lazy as _ 

4from superdjango import ui 

5 

6# Exports 

7 

8__all__ = ( 

9 "BaseHistoryModelUI", 

10) 

11 

12# Models 

13 

14 

15class BaseHistoryModelUI(ui.ModelUI): 

16 """Base class for UI based on ``HistoryModel``.""" 

17 

18 controls = { 

19 'object_label': ui.controls.CharControl(label=_("record name")), 

20 'object_id': ui.controls.CharControl(label=_("record ID")), 

21 'verbose_name': ui.controls.CharControl(label=_("record type")), 

22 } 

23 

24 detail_options = ui.DetailOptions( 

25 "added_dt", 

26 "verbose_name", 

27 "object_label", 

28 "action", 

29 "performed_by", 

30 "absolute_url", 

31 ) 

32 list_options = ui.ListOptions( 

33 "object_label", 

34 "object_id", 

35 "verbose_name", 

36 "action", 

37 "performed_by", 

38 "added_dt", 

39 link_field="object_label" 

40 ) 

41 

42 def check_permission(self, request, verb, field=None, record=None): 

43 """Only super users have delete access. All others are checked only for detail and list permissions.""" 

44 if verb == ui.VERB.DELETE: 

45 return request.user.is_superuser 

46 

47 if verb in (ui.VERB.DETAIL, ui.VERB.LIST): 

48 return super().check_permission(request, verb, field=field, record=record) 

49 

50 return False