def form_valid(self, form): obj = form.save(commit=False) obj.creator = self.request.user xml_parse = read_xml_style(obj.file) if xml_parse: # check if name exists name_exist = Style.objects.filter( name__iexact=xml_parse['name']).exists() if name_exist: obj.name = "%s_%s" % (xml_parse['name'].title(), get_random_string(length=5)) else: obj.name = xml_parse['name'].title() style_type = StyleType.objects.filter( symbol_type=xml_parse['type']).first() if not style_type: style_type = StyleType.objects.create( symbol_type=xml_parse['type'], name=xml_parse['type'].title(), description="Automatically created from '" "'an uploaded Style file") obj.style_type = style_type obj.save() resource_notify(obj, self.resource_name) msg = _("The Style has been successfully created.") messages.success(self.request, msg, 'success', fail_silently=True) return HttpResponseRedirect(reverse('style_detail', kwargs={'pk': obj.id}))
def form_valid(self, form): """ Update the style type according to the style XML file. """ obj = form.save(commit=False) xml_parse = read_xml_style(obj.xml_file) if xml_parse: obj.style_type = StyleType.objects \ .filter(symbol_type=xml_parse['type']).first() obj.require_action = False obj.save() msg = _("The Style has been successfully updated.") messages.success(self.request, msg, 'success', fail_silently=True) return HttpResponseRedirect( reverse_lazy('style_detail', kwargs={'pk': obj.id}))
def test_read_symbol_marker_file(self): read_file = read_xml_style(self.symbol_marker_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "marker") self.assertEqual(style_name, "dot black")
def test_read_symbol_fill_file(self): read_file = read_xml_style(self.symbol_fill_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "fill") self.assertEqual(style_name, "topo swamp")
def test_read_symbol_line_file(self): read_file = read_xml_style(self.symbol_line_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "line") self.assertEqual(style_name, "cat trail")
def test_read_text_format_file(self): read_file = read_xml_style(self.text_format_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "textformat") self.assertEqual(style_name, "Basic Label")
def test_read_symbol3d_file(self): read_file = read_xml_style(self.symbol3d_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "symbol3d") self.assertEqual(style_name, "Cube")
def test_read_color_ramp_file(self): read_file = read_xml_style(self.color_ramp_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "colorramp") self.assertEqual(style_name, "Blues")
def test_read_legend_patch_file(self): read_file = read_xml_style(self.legend_patch_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "legendpatchshape") self.assertEqual(style_name, "Building 3")
def test_read_label_setting_file(self): read_file = read_xml_style(self.label_setting_file) style_type = read_file['type'] style_name = read_file['name'] self.assertEqual(style_type, "labelsetting") self.assertEqual(style_name, "Basic Label Setting")