def add(request, user, widget, render): class PostForm(forms.Form): title = forms.CharField(max_length=100) tags = forms.CharField(required=False, max_length=100) content = forms.CharField(required=False, widget=forms.Textarea) if request.method == 'POST': form = PostForm(request.POST) if form.is_valid(): post = Topic() post.author = get_current_user() post.title = form.cleaned_data['title'] post.content = text_markup.render( form.cleaned_data['content'] ) post.raw_content = form.cleaned_data['content'] post.add_tags( form.cleaned_data['tags'] ) post.user = get_current_user() post.user_widget = post.author.user_widget_set.get(key_name=widget) post.save() kwargs={ 'user':user, 'widget':widget, 'id':str(post.id)} redirect = reverse('note-user-topic', urlconf=APPS['note']['urls'], kwargs=kwargs) return HttpResponseRedirect(redirect) else: form = PostForm(initial={}) # An unbound form context = {'form': form, 'user':user, 'widget':widget} return render(request, context)
def get_auth(cls, obj=None, user=None): if not user: user = get_current_user() role = cls.get_role(obj, user) if role == ROLE_ADMIN: return cls.get_auth_def()[role] current_cls = cls while obj is not None and current_cls.check_parent == True: obj = obj.get_auth_parent() if obj: current_cls = obj.get_auth_class() role_tmp = current_cls.get_role(obj, user) if current_cls._compare_role(role_tmp, role): role = role_tmp return cls.get_auth_def()[role]
def is_friend(self, user=None): if not user: user = get_current_user() return Relation.exists(user, self.user)
def auth(self): return self.get_auth(get_current_user())
def has_joined(self, user=None): if not user: user = get_current_user() if self.get_role(user): return True return False