1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 """ Modul domyslnej kolumny. """
20
21 from ajango.database.columns import ColumnBase
22
24 """ Klasa domyslnej kolumny. """
29 """ Czynnosci do wykonania przed inicjalizacja. """
30 self.type = 'default'
31 self.add_permited(["PRESENTATION"])
33 """ Inicjalizacja ze zmiennej slownikowej. """
34 ColumnBase.read_from_dict(self, params)
35 try:
36 self.presentation = self.object['presentation']
37 except KeyError:
38 self.presentation = []
39 - def check(self, name, xmldoc_elem):
40 """ Oczytanie nodow wewnetrznych. """
41 if name == 'PRESENTATION':
42 presentation_type = xmldoc_elem.getAttribute('type')
43 self.presentation.append(presentation_type)
44 - def execute(self, view, view_name="view"):
45 """ Wykonanie czynnosci kolumny. """
46 if len(self.presentation) > 0:
47 view.add_import("presentation_factory",
48 "ajango.site.presentations")
49 view.add_line("p = []")
50 for elem in self.presentation:
51 view.add_line("p.append(presentation_factory(%r))" % elem)
52 view.add_line("%s.add_column({'type' : 'default', "
53 "'label' : %r, "
54 "'tag' : %r, "
55 "'presentation' : p })" %
56 (view_name, self.label, self.tag))
57 else:
58 view.add_line("%s.add_column({'type' : 'default', "
59 "'label' : %r, "
60 "'tag' : %r })" %
61 (view_name, self.label, self.tag))
63 """ Pobranie danych dla szablonu. """
64 self.prepare_data()
65 result = value['result']
66 data = dict(self.data)
67 value = result.get_element(self.data['tag'])
68 for pres in self.presentation:
69 value = pres.get(value)
70 data['value'] = value
71 return data
72