1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 """
20 Modul strony z edycja danych.
21
22 Obiekt obsluguje strone pozwalajaca na edytowanie danych.
23
24 Obiekt Generujacy
25 =================
26
27 L{ajango.generator.views.editable}
28 """
29
30 from __future__ import print_function
31 from django.utils.datastructures import MultiValueDictKeyError
32 from ajango.site.sites import SiteBase
33 from ajango.database.inputs import input_factory
34 from ajango.database.inputs import InputManager
35 from ajango.database.query import DataEdit
36 from ajango.database import get_table_by_name
37
38 -class Site(SiteBase):
39 """ Klasa strony wprowadzania danych. """
48 """ Metoda inicjalizujaca. """
49 self.type = 'editable'
54 """ Ustawienie nazwy tabeli do pobrania. """
55 self.table = table
57 """ Ustawienie modelu dla strony. """
58 self.models = models
67 """ Zwraca id rekordu ktory wyswietla. """
68 try:
69 identity = self.request.GET['id']
70 except MultiValueDictKeyError:
71 try:
72 identity = self.request.POST['identity']
73 except MultiValueDictKeyError:
74 identity = -1
75 return identity
83 """ Buduje dane dla strony. """
84 table_ob = get_table_by_name(self.table, self.models)
85 try:
86 self.editable_ob = table_ob.objects.filter(id=self.identity)[0]
87 except IndexError:
88 self.editable_ob = None
89 data = []
90 self.data['result'] = True
91 self.data['identity'] = self.identity
92 if self.editable_ob == None:
93 self.data['result'] = False
94 return
95 if self._is_form_available():
96 if self.inputs.is_valid(self.request.POST):
97 self.send_data(self.request.POST)
98 self.data['result'] = False
99 return
100 self.inputs.set_data(self.request.POST)
101 else:
102 self.inputs.set_data_table(self.editable_ob)
103 for elem in self.inputs.get_inputs():
104 data.append(elem.get_data())
105 self.data['tabledata'] = data
106