# -*- coding: utf-8 -*-
-from django.contrib import admin
-from models import *
-
-class AnonymousQuestionAdmin(admin.ModelAdmin):
- """AnonymousQuestion admin class"""
-
-class NodeAdmin(admin.ModelAdmin):
- """Question admin class"""
-
-class TagAdmin(admin.ModelAdmin):
- """Tag admin class"""
-
-class Answerdmin(admin.ModelAdmin):
- """Answer admin class"""
-
-class CommentAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class VoteAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class FlaggedItemAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class FavoriteQuestionAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class QuestionRevisionAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class AnswerRevisionAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class AwardAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class BadgeAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class ReputeAdmin(admin.ModelAdmin):
- """ admin class"""
-
-class ActionAdmin(admin.ModelAdmin):
- """ admin class"""
+#from django.contrib import admin
+#from models import *
+#
+#class AnonymousQuestionAdmin(admin.ModelAdmin):
+# """AnonymousQuestion admin class"""
+#
+#class NodeAdmin(admin.ModelAdmin):
+# """Question admin class"""
+#
+#class TagAdmin(admin.ModelAdmin):
+# """Tag admin class"""
+#
+#class Answerdmin(admin.ModelAdmin):
+# """Answer admin class"""
+#
+#class CommentAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class VoteAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class FlaggedItemAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class FavoriteQuestionAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class QuestionRevisionAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class AnswerRevisionAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class AwardAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class BadgeAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class ReputeAdmin(admin.ModelAdmin):
+# """ admin class"""
+#
+#class ActionAdmin(admin.ModelAdmin):
+# """ admin class"""
#class BookAdmin(admin.ModelAdmin):
# """ admin class"""
#class BookAuthorRssAdmin(admin.ModelAdmin):
# """ admin class"""
-admin.site.register(Node, NodeAdmin)
-admin.site.register(Tag, TagAdmin)
-admin.site.register(QuestionRevision, QuestionRevisionAdmin)
-admin.site.register(AnswerRevision, AnswerRevisionAdmin)
-admin.site.register(Badge, BadgeAdmin)
-admin.site.register(Award, AwardAdmin)
-admin.site.register(Action, ActionAdmin)
+#admin.site.register(Node, NodeAdmin)
+#admin.site.register(Tag, TagAdmin)
+#admin.site.register(QuestionRevision, QuestionRevisionAdmin)
+#admin.site.register(AnswerRevision, AnswerRevisionAdmin)
+#admin.site.register(Badge, BadgeAdmin)
+#admin.site.register(Award, AwardAdmin)
+#admin.site.register(Action, ActionAdmin)
#admin.site.register(Book, BookAdmin)
#admin.site.register(BookAuthorInfo, BookAuthorInfoAdmin)
#admin.site.register(BookAuthorRss, BookAuthorRssAdmin)
text_in = forms.ChoiceField(required=False, widget=forms.RadioSelect, choices=TEXT_IN_CHOICES, initial='title')
-NODE_SHOW_CHOICES = (
-('score', _('Score')),
-('added_at', 'Added at'),
-('last_activity_at', 'Last activity at'),
-('last_activity_by', 'Last activity by')
-)
+from forum.forms.auth import SimpleRegistrationForm
+from forum.forms.general import SetPasswordForm
+
+
+class CreateUserForm(SimpleRegistrationForm, SetPasswordForm):
+ validate_email = forms.BooleanField(required=False, label=_('send validation email'))
+
+ def __init__(self, *args, **kwargs):
+ super(CreateUserForm, self).__init__(*args, **kwargs)
+ self.fields.keyOrder = ['username', 'email', 'validate_email', 'password1', 'password2']
+ self.fields['email'].label = _('email address')
-class NodeManShowForm(forms.Form):
- show = forms.MultipleChoiceField(choices=NODE_SHOW_CHOICES, widget=forms.CheckboxSelectMultiple)
\ No newline at end of file
--- /dev/null
+{% extends basetemplate %}
+
+{% load i18n %}
+{% load user_tags %}
+
+{% block subtitle %}
+ {% trans "Create User" %}
+{% endblock %}
+{% block description %}
+ {% trans "Quick creation of a new user" %}
+{% endblock %}
+
+{% block admincontent %}
+ <form action="" method="POST">
+ <table>
+ {{ form.as_table }}
+ <tr><th></th><td><input type="submit" value="{% trans "Save" %}"></td></tr>
+ </table>
+ </form>
+{% endblock %}
\ No newline at end of file
<div id="header">
{% block header %}
<div id="branding">
- <h1 id="site-name"><a href="{% url admin_index %}">{{ settings.APP_SHORT_NAME }} - {% trans "Administration Area" %}</a> </h1>
+ <h1 id="site-name">{{ settings.APP_SHORT_NAME }} - {% trans "Administration Area" %} </h1>
</div>
{% endblock %}
<div id="user-tools">
urlpatterns += patterns('',
url(r'^$', app.readers.index, name='index'),
+ url(r'^%s(.*)' % _('nimda/'), admin.site.root),
+
url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps},
name='sitemap'),
url(r'^%s$' % _('badges/'), app.meta.badges, name='badges'),
url(r'^%s(?P<id>\d+)/(?P<slug>.+)$' % _('badges/'), app.meta.badge, name='badge'),
# (r'^admin/doc/' % _('admin/doc'), include('django.contrib.admindocs.urls')),
- url(r'^%s(.*)' % _('nimda/'), admin.site.root, name='osqa_admin'),
+
url(r'^%s$' % _('upload/'), app.writers.upload, name='upload'),
url(r'^%s$' % _('search/'), app.readers.search, name='search'),
url(r'^%s$' % _('contact/'), app.meta.feedback, name='feedback'),
from django.utils import simplejson
from django.db import models
from forum.settings.base import Setting
-from forum.forms import MaintenanceModeForm, PageForm, NodeManFilterForm, NodeManShowForm
+from forum.forms import MaintenanceModeForm, PageForm, NodeManFilterForm, CreateUserForm
from forum.settings.forms import SettingsSetForm
-from forum.utils import pagination
+from forum.utils import pagination, html
from forum.models import Question, Answer, User, Node, Action, Page, NodeState
from forum.models.node import NodeMetaClass
-from forum.actions import NewPageAction, EditPageAction, PublishAction, DeleteAction
+from forum.actions import NewPageAction, EditPageAction, PublishAction, DeleteAction, UserJoinsAction
from forum import settings
TOOLS = {}
'published': published
})
+@admin_tools_page(_('createuser'), _("Create new user"))
+def create_user(request):
+ if request.POST:
+ form = CreateUserForm(request.POST)
+
+ if form.is_valid():
+ user_ = User(username=form.cleaned_data['username'], email=form.cleaned_data['email'])
+ user_.set_password(form.cleaned_data['password1'])
+
+ if not form.cleaned_data.get('validate_email', False):
+ user_.email_isvalid = True
+
+ user_.save()
+ UserJoinsAction(user=user_).save()
+
+ request.user.message_set.create(message=_("New user created sucessfully. %s.") % html.hyperlink(
+ user_.get_profile_url(), _("See %s profile") % user_.username, target="_blank"))
+
+ return HttpResponseRedirect(reverse("admin_tools", kwargs={'name': 'createuser'}))
+ else:
+ form = CreateUserForm()
+
+ return ('osqaadmin/createuser.html', {
+ 'form': form,
+ })
class NodeManagementPaginatorContext(pagination.PaginatorContext):
def __init__(self, id='QUESTIONS_LIST', prefix='', default_pagesize=100):