diff options
author | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2012-08-16 08:54:13 -0600 |
---|---|---|
committer | Adolfo Fitoria <adolfo.fitoria@gmail.com> | 2012-08-16 08:54:13 -0600 |
commit | 455da425438d6b1cb44e698ebdd4eedf5dc57e17 (patch) | |
tree | c780e23b1bc571dedea8373a3fd5f7aee60c7597 | |
parent | 116a95d146c4502e484f9dd6f29cb11d5d7475c7 (diff) | |
parent | cabadc886c303504762086c900a4e3645cbbb595 (diff) | |
download | askbot-455da425438d6b1cb44e698ebdd4eedf5dc57e17.tar.gz askbot-455da425438d6b1cb44e698ebdd4eedf5dc57e17.tar.bz2 askbot-455da425438d6b1cb44e698ebdd4eedf5dc57e17.zip |
Merge branch 'user-groups' of github.com:ASKBOT/askbot-devel into user-groups
-rw-r--r-- | askbot/models/tag.py | 8 | ||||
-rw-r--r-- | askbot/models/widgets.py | 20 | ||||
-rw-r--r-- | askbot/skins/default/templates/ask_widget_form.html | 29 | ||||
-rw-r--r-- | askbot/skins/default/templates/widgets.html | 22 | ||||
-rw-r--r-- | askbot/skins/default/templates/widgets/user_navigation.html | 2 | ||||
-rw-r--r-- | askbot/views/widgets.py | 21 |
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 879e44e2..de1307ab 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) |