summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-08-16 10:40:43 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-08-16 10:40:43 -0400
commitcabadc886c303504762086c900a4e3645cbbb595 (patch)
tree7bdf647d3f7c8eab26a21316e3650062618a74f1
parent5ac6c13edf6cbe2c1af72de0cc06bd31bd279f84 (diff)
downloadaskbot-cabadc886c303504762086c900a4e3645cbbb595.tar.gz
askbot-cabadc886c303504762086c900a4e3645cbbb595.tar.bz2
askbot-cabadc886c303504762086c900a4e3645cbbb595.zip
cosmetic fixes in the widget setup
-rw-r--r--askbot/models/tag.py8
-rw-r--r--askbot/models/widgets.py20
-rw-r--r--askbot/skins/default/templates/ask_widget_form.html29
-rw-r--r--askbot/skins/default/templates/widgets.html22
-rw-r--r--askbot/skins/default/templates/widgets/user_navigation.html2
-rw-r--r--askbot/views/widgets.py21
6 files changed, 69 insertions, 33 deletions
diff --git a/askbot/models/tag.py b/askbot/models/tag.py
index 7f5126c8..7c5d8d97 100644
--- a/askbot/models/tag.py
+++ b/askbot/models/tag.py
@@ -190,6 +190,14 @@ class TagManager(BaseQuerySetManager):
def get_query_set(self):
return TagQuerySet(self.model)
+ def get_content_tags(self):
+ """temporary function that filters out the group tags"""
+ return self.annotate(
+ member_count = models.Count('user_memberships')
+ ).filter(
+ member_count = 0
+ )
+
def create(self, name = None, created_by = None, **kwargs):
"""Creates a new tag"""
if created_by.can_create_tags() or is_preapproved_tag_name(name):
diff --git a/askbot/models/widgets.py b/askbot/models/widgets.py
index ecd9818d..09b9a2d9 100644
--- a/askbot/models/widgets.py
+++ b/askbot/models/widgets.py
@@ -3,6 +3,7 @@ from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from askbot.conf import settings as askbot_settings
from askbot.models import Tag
+from askbot.models.tag import get_groups
from django import forms
DEFAULT_INNER_STYLE = ''
@@ -14,7 +15,7 @@ class AskWidget(models.Model):
title = models.CharField(max_length=100)
group = models.ForeignKey(Tag, null=True, blank=True,
related_name='groups')
- default_group = models.ForeignKey(Tag, null=True, blank=True)
+ tag = models.ForeignKey(Tag, null=True, blank=True)
include_text_field = models.BooleanField(default=False, blank=True)
@@ -28,10 +29,19 @@ class AskWidget(models.Model):
return "Widget: %s" % self.title
class CreateAskWidgetForm(forms.ModelForm):
- inner_style = forms.CharField(widget=forms.Textarea, required=False,
- initial=DEFAULT_INNER_STYLE)
- outer_style = forms.CharField(widget=forms.Textarea, required=False,
- initial=DEFAULT_OUTER_STYLE)
+ inner_style = forms.CharField(
+ widget=forms.Textarea,
+ required=False,
+ initial=DEFAULT_INNER_STYLE
+ )
+ outer_style = forms.CharField(
+ widget=forms.Textarea,
+ required=False,
+ initial=DEFAULT_OUTER_STYLE
+ )
+ #these don't work for some reason
+ #group = forms.ModelChoiceField(query_set=get_groups())
+ #tag = forms.ModelChoiceField(query_set=Tag.objects.get_content_tags())
class Meta:
model = AskWidget
diff --git a/askbot/skins/default/templates/ask_widget_form.html b/askbot/skins/default/templates/ask_widget_form.html
index 8b4c52fe..e082b175 100644
--- a/askbot/skins/default/templates/ask_widget_form.html
+++ b/askbot/skins/default/templates/ask_widget_form.html
@@ -1,21 +1,20 @@
{% extends "one_column_body.html" %}
<!-- create_ask_widget.html -->
-{% block title %}Create a Widget{% endblock %}
+{% block title %}{% trans %}Create an Ask a Question widget{% endtrans %}{% endblock %}
{% block content %}
-<h1> Create a askbot ask widget.</h1>
-
-{%if form.non_field_errors()%}
- {{form.non_field_errors()}}
-{%endif%}
-
-<form action="." method="POST">
-{%for field in form%}
- <div class='field'>
- {{field.errors}}
- {{field.label_tag()}}: {{field}}
- </div>
-{%endfor%}
- <p><input type='submit' value='Save Widget' /></p>
+<h1 class="section-title">{% trans %}Create an ask a questions widget{% endtrans %}</h1>
+{#% if form.non_field_errors() %}
+ {{ form.non_field_errors() }}
+{% endif %#}
+<form method="post">
+ <table>
+ {{ form.as_table() }}
+ <tr>
+ <td colspan="2" style="text-align: center">
+ <input type="submit" class="submit" value={% trans %}Save{% endtrans %} />
+ </td>
+ </tr>
+ </table>
</form>
{% endblock %}
diff --git a/askbot/skins/default/templates/widgets.html b/askbot/skins/default/templates/widgets.html
index e259d662..4c7a633e 100644
--- a/askbot/skins/default/templates/widgets.html
+++ b/askbot/skins/default/templates/widgets.html
@@ -4,10 +4,24 @@
{% block content %}
<h1 class="section-title">{% trans %}Widgets{% endtrans %}</h1>
<p>
-{% trans %}You can create widgets to embed into your site, here a list of widgets that you can create.{% endtrans %}<br/>
</p>
-<div id="widgetlist">
- <p><a href="{%url create_ask_widget %}">Ask Question Widget </a><a href="{%url list_ask_widgets %}">(view lists)</a></p>
-</div>
+<table>
+ <thead>
+ <th colspan="3">
+ {% trans %}Create and embed widgets into your sites, here a list of available widgets.{% endtrans %}
+ </th>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{% trans %}Ask a question{% endtrans %}</td>
+ <td><a href="{% url create_ask_widget %}">{% trans %}create{% endtrans %}</a></td>
+ <td>
+ {% if ask_widgets.count() > 0 %}
+ <a href="{% url list_ask_widgets %}">{% trans %}view list{% endtrans %}</a>
+ {% endif %}
+ </td>
+ </tr>
+ </tbody>
+</table>
{% endblock %}
<!-- end template badges.html -->
diff --git a/askbot/skins/default/templates/widgets/user_navigation.html b/askbot/skins/default/templates/widgets/user_navigation.html
index 295ba98f..0173e974 100644
--- a/askbot/skins/default/templates/widgets/user_navigation.html
+++ b/askbot/skins/default/templates/widgets/user_navigation.html
@@ -21,6 +21,6 @@
{% endif %}
{% if request.user.is_authenticated() and request.user.is_administrator() %}
<a href="{% url site_settings %}">{% trans %}settings{% endtrans %}</a>
- <a href="{% url widgets %}">{% trans %}create widgets{% endtrans %}</a>
+ <a href="{% url widgets %}">{% trans %}widgets{% endtrans %}</a>
{% endif %}
<a href="{% url "help" %}" title="{% trans %}help{% endtrans %}">{% trans %}help{% endtrans %}</a>
diff --git a/askbot/views/widgets.py b/askbot/views/widgets.py
index e0d4b061..3eb2a756 100644
--- a/askbot/views/widgets.py
+++ b/askbot/views/widgets.py
@@ -19,7 +19,11 @@ from askbot import forms
@decorators.admins_only
def widgets(request):
- return render_into_skin('widgets.html', {}, request)
+ data = {
+ 'ask_widgets': models.AskWidget.objects.all(),
+ 'page_class': 'widgets'
+ }
+ return render_into_skin('widgets.html', data, request)
@csrf.csrf_protect
def ask_widget(request, widget_id):
@@ -43,13 +47,13 @@ def ask_widget(request, widget_id):
else:
text = ' '
data_dict = {
- 'title': title,
- 'added_at': datetime.now(),
- 'wiki': False,
- 'text': text,
- 'tagnames': '',
- 'is_anonymous': ask_anonymously
- }
+ 'title': title,
+ 'added_at': datetime.now(),
+ 'wiki': False,
+ 'text': text,
+ 'tagnames': '',
+ 'is_anonymous': ask_anonymously
+ }
if request.user.is_authenticated():
data_dict['author'] = request.user
question = post_question(data_dict, request)
@@ -74,6 +78,7 @@ def ask_widget(request, widget_id):
return redirect(next_url)
form = forms.AskWidgetForm(include_text=widget.include_text_field)
+
data = {'form': form, 'widget': widget}
return render_into_skin('ask_by_widget.html', data, request)