def form_valid(self,form): profile = get_profile(self.request.user) export_id = export_links_to_netscape(get_profile(self.request.user).id) file_instance = get_object_or_None(InterfaceFile,id=export_id,profile=profile) # Create the HttpResponse object with the appropriate header. response = HttpResponse(file_instance.text,content_type='text/html') response['Content-Disposition'] = 'attachment; filename="' + file_instance.file_name + '"' return response
def testProfile(self): user = create_user() c = Client() data = test_data.copy() data["priority"] = 6 c.post(reverse("error-post"), data) assert Notification.all().count() == 0, Notification.all().count() data["priority"] = 5 c.post(reverse("error-post"), data) assert Notification.all().count() == 1 profile = get_profile(user) profile.notification = 8 data["priority"] = 5 c.post(reverse("error-post"), data) assert Notification.all().count() == 2 data["priority"] = 8 c.post(reverse("error-post"), data) assert Notification.all().count() == 2 data["priority"] = 9 c.post(reverse("error-post"), data) assert Notification.all().count() == 2
def get_context_data(self, **kwargs): context = super(ExportLinksView,self).get_context_data(**kwargs) profile = get_profile(self.request.user) context['filename'] = profile.user.username + datetime.now().strftime('-%Y-%m-%d') + '.html' return context
def test_add_user(self): user = AppUser(user=User(email="*****@*****.**"), username="******", email="*****@*****.**", is_staff=True).save() assert not Profile.all().count() profile = get_profile(user) assert profile.notification == 5 assert Profile.all().count()
def get(self, request, *args, **kwargs): profile = get_profile(self.request.user) if settings.USE_CELERY: test_all_links.delay(profile.id) else: test_all_links(profile.id) return super(TestAllLinksView, self).get(request, *args, **kwargs)
def form_valid(self, form): self.user = form.cleaned_data.get('user_select',None) self.profile = get_profile(self.user) if settings.USE_CELERY: delete_user_links.delay(self.profile.id) else: delete_user_links(self.profile.id) return super(DeleteUserLinksView, self).form_valid(form)
def save(self): print('request.user:'******'request'].user) user = self.context['request'].user # user = get_object_or_404(User,username='******') print('LinkSerializer User:'******'LinkSerializer Profile:', profile) self.validated_data['profile'] = profile self.validated_data['public'] = profile.public_default print(self.validated_data) super(LinkSerializer, self).save()
def user_edit(request, pk): user = User.get(pk) form = UserForm(request.POST or None, instance=user) profile = ProfileForm(request.POST or None, instance=get_profile(user)) if form.is_valid() and profile.is_valid(): form.save() profile.save() return HttpResponseRedirect(reverse("user-list")) return direct_to_template(request, "user_edit.html", extra_context={ "form": form, "profile": profile, "nav": {"selected": "users",}, })
def user_edit(request, pk): user = User.get(pk) form = UserForm(request.POST or None, instance=user) profile = ProfileForm(request.POST or None, instance=get_profile(user)) if form.is_valid() and profile.is_valid(): form.save() profile.save() return HttpResponseRedirect(reverse("user-list")) return direct_to_template(request, "user_edit.html", extra_context={ "form": form, "profile": profile, "nav": { "selected": "users", }, })
def get_initial(self): self.initial = {} ## Don't know why I have to do this. Old data was hanging around pk = self.kwargs.get('pk',None) if pk: add_link = get_object_or_404(Link,pk=pk) self.initial['id'] = add_link.id self.initial['title'] = add_link.title self.initial['url'] = add_link.url self.initial['comment'] = add_link.comment self.initial['tags'] = self.tags_as_string(add_link.tags) user = self.request.user profile = get_profile(user) self.initial['profile'] = profile return super(LinkCreateView,self).get_initial()
def form_valid(self,form): user = self.request.user instance = InterfaceFile() instance.profile = get_profile(user) instance.file_format = form.cleaned_data['import_format'] instance.file_type = 'I' ## This is an import file f = self.request.FILES['import_file'] instance.file_name = f.name if not f.multiple_chunks(): # enforce size limit import_text = f.read() else: import_text = 'Size limit exceeded' instance.status = 'E' if isinstance(import_text,bytes): import_text = import_text.decode("utf-8") if isinstance(import_text,string_types): instance.text = import_text else: instance.text = 'Text conversion error' instance.status = 'E' instance.save() instance.refresh_from_db() if instance.file_format == 'D' or instance.file_format == 'N': # Netscape Bookmark File (Used by Delicious) if settings.USE_CELERY: import_links_from_netscape.delay(instance.id) else: import_links_from_netscape(instance.id) elif instance.file_format == 'F': # Feedly OPML format if settings.USE_CELERY: import_links_from_feedly.delay(instance.id) else: import_links_from_feedly(instance.id) else: # Form should catch this error. How to report? instance.status = 'E' # Unknown file format instance.save() return super(UploadImportFileTemplateView,self).form_valid(form)
def add_scope(self,qs): if self.scope == 'user': user = self.request.user self.profile = get_profile(user) qs = qs.filter(profile=self.profile) elif self.scope == 'public': qs = qs.filter(public=True, profile__acct_public = True) else: self.profile = get_object_or_None(Profile,user__username=self.scope) if self.profile: if self.request.user.is_superuser: qs = qs.filter(profile=self.profile) elif self.profile.acct_public is False: raise Http404 else: qs = qs.filter(profile=self.profile, public = True) else: raise Http404 return qs
def default_notification(instance, **kw): """ Given an error see if we need to send a notification """ log("Firing signal: default_notification") users = approved_users() filtered = [] for user in users: profile = get_profile(user) if profile.notification and instance.priority <= profile.notification: filtered.append(user) if not filtered: return notification = Notification() notification.type = "Error" notification.type_key = str(instance.key()) notification.user = [str(u.key()) for u in filtered] notification.save()
def default_notification(instance, **kw): """ Given an error see if we need to send a notification """ log("Firing signal: default_notification") users = approved_users() filtered = [] for user in users: profile = get_profile(user) if profile.notification and instance.priority <= profile.notification: filtered.append(user) if not filtered: return notification = Notification() notification.type = "Error" notification.type_key = str(instance.key()) notification.user = [ str(u.key()) for u in filtered ] notification.save()
def validate(self, data): url = data['url'] user = self.request.user # user = User.objects.get(username='******') profile = get_profile(user) print("AddURLLinkSerializer Profile:", profile) data['profile'] = profile # check for duplicate link if check_duplicate_link(url, profile): raise serializers.ValidationError( 'Link already saved for this user') return data
def link_create(request): data = dict() if request.method == 'POST': form = LinkForm(request.POST) user = request.user profile = get_profile(user) if form.is_valid(): object = form.save(commit=False) object.profile = profile object.save() form.save_m2m() data['form_is_valid'] = True else: data['form_is_valid'] = False else: form = LinkForm() context = {'form': form} data['html_form'] = render_to_string('links/includes/partial_link_create.html', context, request=request, ) return JsonResponse(data)
def lazy_profile(self): return get_profile(self.user)
def get_user_profile(): if hasattr(request, 'my_profile'): return request.my_profile else: return get_profile()
def get_user_profile(): if hasattr(request,'my_profile'): return request.my_profile else: return get_profile()
def get_form(self, form_class=None): if form_class is None: form_class = self.get_form_class() return form_class(**self.get_form_kwargs(),current_user_profile=get_profile(self.request.user))