From 1ef274ec1dca0c54ea3dbda6887960e8f665e2c9 Mon Sep 17 00:00:00 2001 From: expo <expo@expobox.potato.hut> Date: Mon, 6 Aug 2012 12:19:48 +0200 Subject: [PATCH] Editing no longer changes files more than nesecary. Removed TinyMCE editing. /Sumbit/Submit --- core/forms.py | 16 +++++++-------- flatpages/views.py | 33 +++++++++++++++++++++--------- templates/cave_entrances.html | 15 +++++++++----- templates/dataformat/flatfile.html | 10 --------- templates/editcave.html | 2 +- templates/editcave2.html | 2 +- templates/editentrance.html | 2 +- templates/editfile.html | 2 +- 8 files changed, 45 insertions(+), 37 deletions(-) delete mode 100644 templates/dataformat/flatfile.html diff --git a/core/forms.py b/core/forms.py index 939f64f..e0654fb 100644 --- a/core/forms.py +++ b/core/forms.py @@ -8,14 +8,14 @@ from datetime import date from tinymce.widgets import TinyMCE class CaveForm(ModelForm): - underground_description = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 30})) - explorers = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) - equipment = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) - survey = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) - kataster_status = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) - underground_centre_line = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) - notes = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) - references = forms.CharField(required = False, widget=TinyMCE(attrs={'cols': 80, 'rows': 10})) + underground_description = forms.CharField(required = False, widget=forms.Textarea()) + explorers = forms.CharField(required = False, widget=forms.Textarea()) + equipment = forms.CharField(required = False, widget=forms.Textarea()) + survey = forms.CharField(required = False, widget=forms.Textarea()) + kataster_status = forms.CharField(required = False, widget=forms.Textarea()) + underground_centre_line = forms.CharField(required = False, widget=forms.Textarea()) + notes = forms.CharField(required = False, widget=forms.Textarea()) + references = forms.CharField(required = False, widget=forms.Textarea()) class Meta: model = Cave diff --git a/flatpages/views.py b/flatpages/views.py index 0999d31..6fb68bb 100644 --- a/flatpages/views.py +++ b/flatpages/views.py @@ -57,9 +57,9 @@ def flatpage(request, path): if path.endswith(".htm") or path.endswith(".html"): html = o.read() - m = re.search(r"<head>(.*)</head>.*<body[^>]*>(.*)</body>", html, re.DOTALL + re.IGNORECASE) + m = re.search(r"(.*)<\s*head([^>]*)>(.*)<\s*/head\s*>(.*)<\s*body([^>]*)>(.*)<\s*/body\s*>(.*)", html, re.DOTALL + re.IGNORECASE) if m: - head, body = m.groups() + preheader, headerattrs, head, postheader, bodyattrs, body, postbody = m.groups() else: return HttpResponse(html + "Page could not be split into header and body") m = re.search(r"<title>(.*)</title>", head, re.DOTALL + re.IGNORECASE) @@ -107,13 +107,13 @@ def editflatpage(request, path): filepath = os.path.normpath(settings.EXPOWEB + path) o = open(filepath, "r") html = o.read() - m = re.search(r"<head>(.*)</head>.*<body[^>]*>(.*)</body>", html, re.DOTALL + re.IGNORECASE) + m = re.search(r"(.*)<head([^>]*)>(.*)</head>(.*)<body([^>]*)>(.*)</body>(.*)", html, re.DOTALL + re.IGNORECASE) if m: filefound = True - head, body = m.groups() - linksmatch = re.match('(.*)<ul\s+id="links">', body, re.DOTALL + re.IGNORECASE) + preheader, headerargs, head, postheader, bodyargs, body, postbody = m.groups() + linksmatch = re.match('(.*)(<ul\s+id="links">.*)', body, re.DOTALL + re.IGNORECASE) if linksmatch: - body, = linksmatch.groups() + body, links = linksmatch.groups() if re.search(r"iso-8859-1", html): body = unicode(body, "iso-8859-1") else: @@ -126,9 +126,22 @@ def editflatpage(request, path): flatpageForm = FlatPageForm(request.POST) # A form bound to the POST data if flatpageForm.is_valid():# Form valid therefore write file f = open(filepath, "w") - template = loader.get_template('dataformat/flatfile.html') - context = Context({'form': flatpageForm.cleaned_data}) - f.write(template.render(context)) + if filefound: + headmatch = re.match(r"(.*)<title>.*</title>(.*)", head, re.DOTALL + re.IGNORECASE) + if headmatch: + head = headmatch.group(1) + "<title>" + flatpageForm.cleaned_data["title"] + "</title>" + headmatch.group(2) + else: + head = "<title>" + flatpageForm.cleaned_data["title"] + "</title>" + else: + head = "<title>" + flatpageForm.cleaned_data["title"] + "</title>" + preheader = "<html>" + headerargs = "" + postheader = "" + bodyargs = "" + postbody = "</html>" + body = flatpageForm.cleaned_data["html"] + body = body.replace("\r", "") + f.write("%s<head%s>%s</head>%s<body%s>\n%s</body>%s" % (preheader, headerargs, head, postheader, bodyargs, body, postbody)) f.close() return HttpResponseRedirect(reverse('flatpage', args=[path])) # Redirect after POST else: @@ -146,4 +159,4 @@ def editflatpage(request, path): class FlatPageForm(forms.Form): title = forms.CharField(widget=forms.TextInput(attrs={'size':'60'})) - html = forms.CharField(widget=TinyMCE(attrs={'cols': 80, 'rows': 20})) + html = forms.CharField(widget=forms.Textarea()) diff --git a/templates/cave_entrances.html b/templates/cave_entrances.html index e4e939d..1364acf 100644 --- a/templates/cave_entrances.html +++ b/templates/cave_entrances.html @@ -51,11 +51,16 @@ {% if ent.entrance.bearings %} <dt>Bearings</dt><dd>{{ ent.entrance.bearings|safe }}</dd> {% endif %} - - {{ ent.entrance.tag_station|safe }} - {{ ent.entrance.exact_station|safe }} - {{ ent.entrance.other_station|safe }} - {{ ent.entrance.other_description|safe }} + {% if ent.entrance.exact_station %} + <dt>Exact Station</dt><dd>{{ ent.entrance.exact_station|safe }}</dd> + {% endif %} + {% if ent.entrance.other_station %} + <dt>Other Station</dt><dd>{{ ent.entrance.other_station|safe }} + {% if ent.entrance.other_description %} + - {{ ent.entrance.other_description|safe }} + {% endif %} + </dd> + {% endif %} </dl> </li> {% endfor %} diff --git a/templates/dataformat/flatfile.html b/templates/dataformat/flatfile.html deleted file mode 100644 index 07d03ca..0000000 --- a/templates/dataformat/flatfile.html +++ /dev/null @@ -1,10 +0,0 @@ -{% autoescape off %} -<html> -<head> -<title>{{ form.title }}</title> -</head> -<body> -{{ form.html }} -</body> -</html> -{% endautoescape %} diff --git a/templates/editcave.html b/templates/editcave.html index 0e1785b..d7bdf37 100644 --- a/templates/editcave.html +++ b/templates/editcave.html @@ -13,7 +13,7 @@ <form action="" method="post">{% csrf_token %} {{ form }} - <p><input type="submit" value="Sumbit" /></p> + <p><input type="submit" value="Submit" /></p> </form> {% endblock %} diff --git a/templates/editcave2.html b/templates/editcave2.html index e57b4cd..edac202 100644 --- a/templates/editcave2.html +++ b/templates/editcave2.html @@ -12,7 +12,7 @@ <form action="" method="post">{% csrf_token %} <table>{{ form }}{{caveAndEntranceFormSet}}</table> {{ versionControlForm }} - <p><input type="submit" value="Sumbit" /></p> + <p><input type="submit" value="Submit" /></p> </form> {% endblock %} diff --git a/templates/editentrance.html b/templates/editentrance.html index d17d1f9..3b0e12b 100644 --- a/templates/editentrance.html +++ b/templates/editentrance.html @@ -12,7 +12,7 @@ <form action="" method="post">{% csrf_token %} <table>{{ form }}</table> {{ versionControlForm }} - <p><input type="submit" value="Sumbit" /></p> + <p><input type="submit" value="Submit" /></p> </form> {% endblock %} diff --git a/templates/editfile.html b/templates/editfile.html index 954a1c4..b9ae115 100644 --- a/templates/editfile.html +++ b/templates/editfile.html @@ -90,7 +90,7 @@ <label for="id_date">Content:</label> {{ fileForm.html }} </div> - <p><input type="submit" value="Sumbit Trip Report" /></p> + <p><input type="submit" value="Submit Trip Report" /></p> </form> {% endblock %}