コード例 #1
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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
コード例 #2
0
ファイル: tests.py プロジェクト: pajenterprise/arecibo
    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
コード例 #3
0
ファイル: tests.py プロジェクト: andymckay/arecibo
    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
コード例 #4
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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
コード例 #5
0
ファイル: tests.py プロジェクト: pajenterprise/arecibo
 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()
コード例 #6
0
ファイル: tests.py プロジェクト: pombredanne/arecibo
 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()
コード例 #7
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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)
コード例 #8
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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)
コード例 #9
0
 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()
コード例 #10
0
ファイル: views.py プロジェクト: andymckay/arecibo
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",},
    })
コード例 #11
0
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",
                                  },
                              })
コード例 #12
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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()
コード例 #13
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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)
コード例 #14
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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
コード例 #15
0
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()
コード例 #16
0
ファイル: listeners.py プロジェクト: andymckay/arecibo
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()
コード例 #17
0
    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
コード例 #18
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
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)
コード例 #19
0
 def lazy_profile(self):
 	return get_profile(self.user)
コード例 #20
0
 def get_user_profile():
     if hasattr(request, 'my_profile'):
         return request.my_profile
     else:
         return get_profile()
コード例 #21
0
 def get_user_profile():
     if hasattr(request,'my_profile'):
         return request.my_profile
     else:
         return get_profile()
コード例 #22
0
ファイル: views.py プロジェクト: dashdrum/bulkmarks
	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))
コード例 #23
0
 def lazy_profile(self):
     return get_profile(self.user)