示例#1
0
 def handle(self, *args, **options):
     self.options = options
     campaignSlug = args[0]
     contentTypeId = ContentType.objects.get(model='campaign').id
     entityId = Campaign.objects.get(slug=campaignSlug).id
     for upload in ImageUpload.objects.filter(content_type=contentTypeId, entity_id=entityId):
         generate_share_image(upload, campaignSlug)
示例#2
0
文件: views.py 项目: elin-moco/ffclub
def every_moment_upload(request):
    currentCampaign = Campaign.objects.get(slug=everyMomentCampaignSlug)
    if not 'running' == currentCampaign.status:
        raise PermissionDenied
    uploaded = False
    photo = None
    if not request.user.is_active:
        uploadForm = CampaignImageUploadForm()
        personForm = PersonEmailNicknameForm()
    elif check_exceed_upload_times(request.user, currentCampaign):
        return redirect('campaign.every.moment.exceed')
    elif request.method == 'POST':
        currentUser = auth.get_user(request)
        uploadForm = CampaignImageUploadForm(request.POST, request.FILES)
        try:
            personForm = PersonEmailNicknameForm(request.POST, instance=currentUser.get_profile())
        except ObjectDoesNotExist:
            personForm = PersonEmailNicknameForm(request.POST)
        if all([uploadForm.is_valid(), personForm.is_valid()]):
            person = personForm.save(commit=False)
            if not hasattr(person, 'user'):
                person.user = currentUser
            upload = uploadForm.save(commit=False)
            upload.create_user = currentUser
            upload.entity_object = currentCampaign
            person.save()
            upload.save()
            generate_share_image(upload, everyMomentCampaignSlug)
            shareOnFacebook(request.POST, upload)
            photo = upload
            uploaded = True
    else:
        uploadForm = CampaignImageUploadForm()
        try:
            personForm = PersonEmailNicknameForm(instance=request.user.get_profile())
        except ObjectDoesNotExist:
            personForm = PersonEmailNicknameForm()
    data = {
        'campaign': currentCampaign,
        'uploadForm': uploadForm,
        'personForm': personForm,
        'uploaded': uploaded,
        'photo': photo,
    }
    return render(request, 'event/every-moment/upload.html', data)