コード例 #1
0
ファイル: views.py プロジェクト: rosskarchner/eventgrinder
def edit_site(request):
    site = get_site()
    if not site: return HttpResponseRedirect(reverse('create-site'))

    if request.method == 'POST':  # If the form has been submitted...
        form = SiteDetailsForm(request.POST)  # A form bound to the POST data
        if form.is_valid():  # All validation rules pass
            site.name = form.cleaned_data['name'].strip()
            site.timezone = form.cleaned_data['timezone'].strip()
            site.twitter = form.cleaned_data['twitter'] or None
            site.offline = form.cleaned_data['offline'] or None
            site.put()
            site.expire_assets()

    else:
        site = get_site()
        if site:
            site_details = {
                'name': site.name,
                'timezone': site.timezone,
                'slug': site.slug,
                'hostnames': ",".join(site.hostnames),
                'google_analytics_code': site.google_analytics_code,
                'google_site_verification': site.google_site_verification,
                'twitter': site.twitter,
            }
            form = SiteDetailsForm(site_details)
        else:
            form = SiteDetailsForm()  # An unbound form

    return render_to_response('eventsite/admin.html',
                              locals(),
                              context_instance=RequestContext(request))
コード例 #2
0
ファイル: forms.py プロジェクト: datacommunitydc/eventgrinder
    def save(self):
        site=get_site()
        timezone=pytz.timezone(site.timezone)
        cleaned_data=self.cleaned_data

        profile=get_current_profile()
        if profile.userlevel > 9:
            credit_name, credit_link= "Staff", None
            status='approved'
            approved_on=datetime.now()
        else:
            credit_name, credit_link = profile.nickname, profile.link
            status='submitted'
            approved_on=None
        event=Event(title=cleaned_data.get("title"),
        link=cleaned_data.get("link") or None,
        description=cleaned_data.get("description")[:250] or None,
        start=timezone.localize(datetime.combine(cleaned_data.get("start_date"),cleaned_data.get("start_time"))),
        end=timezone.localize(datetime.combine(cleaned_data.get("end_date") or                  cleaned_data.get("start_date"),cleaned_data.get("end_time"))),
        location=cleaned_data.get("location") or None,
        submitted_by=get_current_profile(),
        status=status,
        site=get_site(),
        cost=cleaned_data.get("cost"),
        credit_name=credit_name,
        credit_link=credit_link,
        approved_on=approved_on,
        approved_by=profile,
        )




        event.put()
        return event
コード例 #3
0
ファイル: views.py プロジェクト: datacommunitydc/eventgrinder
def edit_site(request):
    site=get_site()
    if not site: return HttpResponseRedirect(reverse('create-site'))

    if request.method == 'POST': # If the form has been submitted...
        form = SiteDetailsForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            site.name=form.cleaned_data['name'].strip()
            site.timezone= form.cleaned_data['timezone'].strip()
            site.audience=form.cleaned_data['audience'].strip()
            site.hostnames=form.cleaned_data['hostnames']
            site.google_site_verification=form.cleaned_data['google_site_verification'].strip()
            site.google_analytics_code=form.cleaned_data['google_analytics_code'].strip()
            site.twitter=form.cleaned_data['twitter'] or None
            site.bsa_code=form.cleaned_data['bsa_code'] or None
            site.offline=form.cleaned_data['offline'] or None
            site.put()
            site.expire_assets()

            
    else:
        site=get_site()
        if site:
            site_details={'name':site.name, 'timezone':site.timezone, 'slug':site.slug,
            'audience': site.audience, 'hostnames':",".join(site.hostnames),
            'google_analytics_code':site.google_analytics_code,
            'google_site_verification':site.google_site_verification,
            'twitter':site.twitter,
            }
            form=SiteDetailsForm(site_details)
        else:    
            form = SiteDetailsForm() # An unbound form

   
    return render_to_response('eventsite/admin.html', locals(), context_instance=RequestContext(request))
コード例 #4
0
def naturalday(value, arg=None):
    """
    For date values that are tomorrow, today or yesterday compared to
    present day returns representing string. Otherwise, returns a string
    formatted according to settings.DATE_FORMAT.
    """
    try:
        value = date(value.year, value.month, value.day)
    except AttributeError:
        # Passed value wasn't a date object
        return value
    except ValueError:
        # Date arguments out of range
        return value
    site = get_site()
    timezone = pytz.timezone(site.timezone)
    today = today = utc.localize(datetime.utcnow()).astimezone(timezone).date()
    delta = value - today
    if delta.days == 0:
        return _(u'Today')
    elif delta.days == 1:
        return _(u'Tomorrow')
    elif delta.days == -1:
        return _(u'Yesterday')
    return defaultfilters.date(value, arg)
コード例 #5
0
ファイル: humanize.py プロジェクト: Hubble1/eventgrinder
def naturalday(value, arg=None):
    """
    For date values that are tomorrow, today or yesterday compared to
    present day returns representing string. Otherwise, returns a string
    formatted according to settings.DATE_FORMAT.
    """
    try: 
        value = date(value.year, value.month, value.day)
    except AttributeError:
        # Passed value wasn't a date object
        return value
    except ValueError:
        # Date arguments out of range
        return value
    site=get_site()
    timezone=pytz.timezone(site.timezone)
    today=today=utc.localize(datetime.utcnow()).astimezone(timezone).date()
    delta = value - today
    if delta.days == 0:
        return _(u'Today')
    elif delta.days == 1:
        return _(u'Tomorrow')
    elif delta.days == -1:
        return _(u'Yesterday')
    return defaultfilters.date(value, arg)
コード例 #6
0
ファイル: views.py プロジェクト: rosskarchner/eventgrinder
def logo(request):
    site = get_site()
    if request.method == 'POST':
        files = get_uploads(request)
        for upload in files:
            if site.original_logo: site.original_logo.delete()
            site.original_logo = upload
            if site.original_logo_version:
                site.original_logo_version = site.original_logo_version + 1
            else:
                site.original_logo_version = 1
            ext = upload.filename.split('.')[-1]

            site.logo_asset_href = get_serving_url(str(upload.key()), 512)
            #site.logo_asset_href=reverse('original-logo',kwargs={'site_slug':site.slug,
            #                                            'version':site.original_logo_version,
            #                                            'ext':ext})

        site.put()
        site.expire_assets()
        return HttpResponseRedirect(reverse('logo-upload'))

    asset_href = site.logo_asset_href
    upload_url = blobstore.create_upload_url(reverse('logo-upload'))
    form = LogoUploadForm()
    return render_to_response('admin/logo.html',
                              locals(),
                              context_instance=RequestContext(request))
コード例 #7
0
ファイル: views.py プロジェクト: datacommunitydc/eventgrinder
def logo(request):
    site=get_site()
    if request.method=='POST':
        files=get_uploads(request)
        for upload in files:
            if site.original_logo:site.original_logo.delete()
            site.original_logo=upload
            if site.original_logo_version:
                site.original_logo_version=site.original_logo_version+1
            else:
                site.original_logo_version=1
            ext=upload.filename.split('.')[-1]
            
            site.logo_asset_href=get_serving_url(str(upload.key()), 512)
            #site.logo_asset_href=reverse('original-logo',kwargs={'site_slug':site.slug,
            #                                            'version':site.original_logo_version,
            #                                            'ext':ext})
            
            
            
        site.put()
        site.expire_assets()
        return HttpResponseRedirect(reverse('logo-upload'))
    
    asset_href=site.logo_asset_href
    upload_url=blobstore.create_upload_url(reverse('logo-upload'))
    form=LogoUploadForm()
    return render_to_response('admin/logo.html', locals(), context_instance=RequestContext(request))
コード例 #8
0
ファイル: utility.py プロジェクト: Hubble1/eventgrinder
def get_current_profile():
    site=get_site()
    user=get_current_user()
    if not site: return None
    if not user: return None
    profile=Profile.get_or_insert(site.slug+user.user_id(), user=user, site=site, subscribes=False)
    return profile
コード例 #9
0
def naturalweek(day):
    site=get_site()
    timezone=site.tz
    today=today=utc.localize(datetime.utcnow()).astimezone(timezone).date()
    week=day+relativedelta(weekday=MO(-1))
    if week == today+relativedelta(weekday=MO(-1)): return "this week"
    if week == today+relativedelta(days=+1,weekday=MO(+1)): return "next week"
    return defaultfilters.date(week, "week of F jS Y")
    
コード例 #10
0
ファイル: utility.py プロジェクト: rosskarchner/eventgrinder
def get_current_profile():
    site = get_site()
    user = get_current_user()
    if not site: return None
    if not user: return None
    profile = Profile.get_or_insert(site.slug + user.user_id(),
                                    user=user,
                                    site=site,
                                    subscribes=False)
    return profile
コード例 #11
0
ファイル: forms.py プロジェクト: Hubble1/eventgrinder
    def save(self):
        site=get_site()
        mc=SitesMailchimp(parent=site, apikey=self.cleaned_data['mailchimp_api_key'])
        mc.put()
        return mc
        
        


        
        
コード例 #12
0
ファイル: forms.py プロジェクト: datacommunitydc/eventgrinder
    def clean(self):
        data = self.cleaned_data
        #if not (data.get('link') or data.get('description')):
        #    self._errors["link"] = ErrorList(["You must provide either a link or description"])
        site=get_site()
        local_today=utc.localize(datetime.utcnow()).astimezone(site.tz).date()
        if data.has_key('start_date'):
            if (data['start_date'] < local_today) and ((data['end_date'] == None) or (data['end_date'] < local_today)):
                self._errors["start_date"] = ErrorList(["This event occurs in the past"])

        return super(EventBasicsForm, self).clean()
コード例 #13
0
ファイル: forms.py プロジェクト: datacommunitydc/eventgrinder
 def save(self):
     cleaned_data = self.cleaned_data
     profile = get_current_profile()
     from models import ICalendarSource
     ical = ICalendarSource(site=get_site(),
                            name=cleaned_data['name'],
                            source_link=cleaned_data['link'] or None,
                            ical_href=cleaned_data['ical'],
                            submitted_by=profile,
                            status='submitted',
                            last_fetch=datetime(year=1970, month=1, day=1))
     ical.put()
コード例 #14
0
ファイル: forms.py プロジェクト: pombredanne/eventgrinder
 def save(self):
     cleaned_data=self.cleaned_data
     profile=get_current_profile()
     from models import ICalendarSource
     ical= ICalendarSource(site=get_site(),
                           name=cleaned_data['name'],
                           source_link=cleaned_data['link'] or None,
                           ical_href=cleaned_data['ical'],
                           submitted_by=profile,
                           status='submitted',
                           last_fetch=datetime(year=1970, month=1, day=1)
                           )
     ical.put()
コード例 #15
0
ファイル: views.py プロジェクト: datacommunitydc/eventgrinder
def manage_users(request):
    site=get_site()
    users= site.profile_set
    if request.method == 'POST':
        updated_users=[]
        for key in request.POST.keys():
            #return HttpResponse(str(request.POST))
            if key.startswith('set-userlevel-'):
                
                u=site.profile_set.filter('slug = ', key[14:]).get()
                u.userlevel=int(request.POST[key])
                updated_users.append(u)
                
        db.put(updated_users)
    return render_to_response('admin/users.html', locals(), context_instance=RequestContext(request))
コード例 #16
0
ファイル: views.py プロジェクト: Hubble1/eventgrinder
def save_profile(profile, form):
    nickname=striptags(form.cleaned_data['nickname'].strip())
    profile.nickname=nickname
    profile.email= form.cleaned_data['email'].strip()
    profile.slug=unicode(slugify(nickname))
    profile.confirmed_at=datetime.now()
    profile.link=form.cleaned_data['link'] or None
    profile.put()
    if profile.subscribes:
        site=get_site()
        chimp=site.chimp
        taskqueue.add(url='/subscriptions/subscribe_email/',
                       params={'apikey': chimp.apikey,
                       'list_id': chimp.listid,
                       'email': form.cleaned_data['email']})
コード例 #17
0
def create_and_send_campaign(request):
    try:
        if request.method == 'POST':
            api = pychimp.PyChimp(request.POST['apikey'])
            campaign = api.campaignCreate(
                'regular', {
                    'list_id': request.POST['listid'],
                    'subject': request.POST['subject'],
                    'from_email': request.POST['from_email'],
                    'from_name': request.POST['from_name']
                }, {
                    'url':
                    request.POST['url'],
                    'text':
                    "check out this weeks events at %s" % request.POST['url']
                })
            taskqueue.add(url='/subscriptions/send_campaign/',
                          params={
                              'apikey': request.POST['apikey'],
                              'campaign': campaign,
                          },
                          countdown=20,
                          name="campaign-%s" % campaign)

            return HttpResponse("Created campaign %s" % campaign)

        else:
            site = get_site()
            chimp = site.chimp
            return HttpResponse("""
            <form method="POST">
            url: <input type="text" value="" name="url"/><br/>
            subject: <input type="text" value="" name="subject"/><br/>
            from name: <input type="text" value="" name="from_name"/><br/>
            from email: <input type="text" value="" name="from_email"/>
            <input type="hidden" name="apikey" value="%s"/>
            <input type="hidden" name="listid" value="%s"/>
            <input type="submit" value="Send"/>
            </form>
        
        
        
            """ % (chimp.apikey, chimp.listid))

    except Exception, e:
        logging.error("%s in \n%s" %
                      (traceback.format_exc(), str(request.POST)))
        HttpResponse("OK")
コード例 #18
0
ファイル: utility.py プロジェクト: Hubble1/eventgrinder
    def replacement_view(request, *args, **kwargs):
        site=get_site()
        
        user=get_current_user()
        if user and not site:
            return func(request, *args, **kwargs)

        if not user: 
            return redirect(create_signin_url(request.get_full_path()))
            
        profile=get_current_profile()
        if not profile.confirmed_at:
            return redirect(create_profile_confirm_url(request.get_full_path()))
        request.site= site
        request.profile=profile
        return func(request, *args, **kwargs)
コード例 #19
0
ファイル: context.py プロジェクト: rosskarchner/eventgrinder
def site_context(request):
    site=get_site()
    additional_context={'site': site,
                        'user':get_current_profile(),
                        'admin':users.is_current_user_admin(),
                        'logout':users.create_logout_url(reverse('account-signout')),
                        'links':Link.all().filter('status =','approved').fetch(20)
                        
                }
                

    #additional_context['logo']=get_serving_url(str(site.original_logo.key()), 512)


    return additional_context
        
コード例 #20
0
ファイル: views.py プロジェクト: datacommunitydc/eventgrinder
def create_site(request):
    hostname=request.get_host()
    site=get_site()
    if site:return HttpResponseRedirect(reverse('admin-home'))
    form=SiteCreateForm()
    if request.method == 'POST':
        form=SiteCreateForm(request.POST)
        if form.is_valid():
            new_site=models.Eventsite(name=form.cleaned_data['name'].strip(),
                                    timezone= form.cleaned_data['timezone'].strip(),
                                    audience=form.cleaned_data['audience'].strip(),
                                    hostnames=[hostname,],
                                    key_name=hostname,
                                    slug=form.cleaned_data['slug'])
            new_site.put()
            return HttpResponseRedirect(reverse('admin-home'))
    return render_to_response('eventsite/admin.html', locals(), context_instance=RequestContext(request))
コード例 #21
0
ファイル: utility.py プロジェクト: rosskarchner/eventgrinder
    def replacement_view(request, *args, **kwargs):
        site = get_site()

        user = get_current_user()
        if user and not site:
            return func(request, *args, **kwargs)

        if not user:
            return redirect(create_signin_url(request.get_full_path()))

        profile = get_current_profile()
        if not profile.confirmed_at:
            return redirect(create_profile_confirm_url(
                request.get_full_path()))
        request.site = site
        request.profile = profile
        return func(request, *args, **kwargs)
コード例 #22
0
def save_profile(profile, form):
    nickname = striptags(form.cleaned_data['nickname'].strip())
    profile.nickname = nickname
    profile.email = form.cleaned_data['email'].strip()
    profile.slug = unicode(slugify(nickname))
    profile.confirmed_at = datetime.now()
    profile.link = form.cleaned_data['link'] or None
    profile.put()
    if profile.subscribes:
        site = get_site()
        chimp = site.chimp
        taskqueue.add(url='/subscriptions/subscribe_email/',
                      params={
                          'apikey': chimp.apikey,
                          'list_id': chimp.listid,
                          'email': form.cleaned_data['email']
                      })
コード例 #23
0
ファイル: views.py プロジェクト: rosskarchner/eventgrinder
def manage_users(request):
    site = get_site()
    users = site.profile_set
    if request.method == 'POST':
        updated_users = []
        for key in request.POST.keys():
            #return HttpResponse(str(request.POST))
            if key.startswith('set-userlevel-'):

                u = site.profile_set.filter('slug = ', key[14:]).get()
                u.userlevel = int(request.POST[key])
                updated_users.append(u)

        db.put(updated_users)
    return render_to_response('admin/users.html',
                              locals(),
                              context_instance=RequestContext(request))
コード例 #24
0
ファイル: forms.py プロジェクト: caseysoftware/eventgrinder
 def clean(self):
     site=get_site()
     cleaned_data = self.cleaned_data
     nickname = cleaned_data.get("nickname")
     email = cleaned_data.get("email")
     profile=get_current_profile()
     existing_profile_with_slug=site.profile_set.filter('slug =', unicode(slugify(nickname))).get()
     existing_profile_with_email=site.profile_set.filter('email =', email).get()
     if (existing_profile_with_slug != None and existing_profile_with_slug.key() != profile.key()):
             msg = u"Someone else already took that nickname!"
             self._errors["nickname"] = ErrorList([msg])
             del cleaned_data['nickname']
     if (existing_profile_with_email != None and existing_profile_with_email.key() != profile.key()):
             msg = u"Someone has already registered with that email"
             self._errors["email"] = ErrorList([msg])
             del cleaned_data['email']
             
     return super(ProfileForm, self).clean()
コード例 #25
0
ファイル: views.py プロジェクト: rosskarchner/eventgrinder
def configure_mailchimp(request):
    site = get_site()
    mc = models.SitesMailchimp.all().ancestor(site).get()
    if not mc:
        if request.method == 'POST':
            form = MailChimpApiKey(request.POST)
            if form.is_valid():
                form.save()
                return HttpResponseRedirect(reverse('configure-mailchimp'))
        else:
            form = MailChimpApiKey()

        return render_to_response('admin/mailchimp_apikey.html',
                                  locals(),
                                  context_instance=RequestContext(request))

    else:
        chimp = pychimp.PyChimp(mc.apikey)
        lists = chimp.lists()
        list_choices = [(l['id'] + '!@!' + l['name'], l['name'])
                        for l in lists]

        class MailChimpListForm(forms.Form):
            mailchimp_list = forms.ChoiceField(choices=list_choices)

            def save(self):
                mc.listid, mc.listname = self.cleaned_data[
                    'mailchimp_list'].split('!@!')
                mc.put()

        if request.method == 'POST':
            form = MailChimpListForm(request.POST)
            if form.is_valid():
                form.save()
                messages.add_message(request, messages.INFO,
                                     "Mailing list configured!")
                return HttpResponseRedirect(reverse('admin-home'))

        form = MailChimpListForm()
        return render_to_response('admin/mailchimp_apikey.html',
                                  locals(),
                                  context_instance=RequestContext(request))
        return HttpResponse(lists)
コード例 #26
0
ファイル: forms.py プロジェクト: pombredanne/eventgrinder
 def save(self):
     cleaned_data=self.cleaned_data
     site=get_site()
     ical=site.icalendarsource_set.filter(' __key__ =', db.Key(cleaned_data['source_key']) ).get()
     tags=[t.strip() for t in cleaned_data.get("tags","").lower().split(',')]
     if cleaned_data['state']== 'fetch now':
         ical.fetch()
         return
     if cleaned_data['state']== 'save': 
         state='approved'
     else:
         state=cleaned_data['state']
     
     
     ical.status=state
     ical.trusted=cleaned_data['trusted']
     ical.default_tags=tags
     ical.put()
     return ical
コード例 #27
0
ファイル: forms.py プロジェクト: rosskarchner/eventgrinder
    def save(self):
        cleaned_data = self.cleaned_data
        site = get_site()
        ical = site.icalendarsource_set.filter(
            ' __key__ =', db.Key(cleaned_data['source_key'])).get()
        tags = [
            t.strip() for t in cleaned_data.get("tags", "").lower().split(',')
        ]
        if cleaned_data['state'] == 'fetch now':
            ical.fetch()
            return
        if cleaned_data['state'] == 'save':
            state = 'approved'
        else:
            state = cleaned_data['state']

        ical.status = state
        ical.trusted = cleaned_data['trusted']
        ical.default_tags = tags
        ical.put()
        return ical
コード例 #28
0
ファイル: views.py プロジェクト: rosskarchner/eventgrinder
def create_site(request):
    hostname = request.get_host()
    site = get_site()
    if site: return HttpResponseRedirect(reverse('admin-home'))
    form = SiteCreateForm()
    if request.method == 'POST':
        form = SiteCreateForm(request.POST)
        if form.is_valid():
            new_site = models.Eventsite(
                name=form.cleaned_data['name'].strip(),
                timezone=form.cleaned_data['timezone'].strip(),
                hostnames=[
                    hostname,
                ],
                key_name=hostname,
                slug=str(slugify(hostname)))
            new_site.put()
            return HttpResponseRedirect(reverse('admin-home'))
    return render_to_response('eventsite/admin.html',
                              locals(),
                              context_instance=RequestContext(request))
コード例 #29
0
    def clean(self):
        site = get_site()
        cleaned_data = self.cleaned_data
        nickname = cleaned_data.get("nickname")
        email = cleaned_data.get("email")
        profile = get_current_profile()
        existing_profile_with_slug = site.profile_set.filter(
            'slug =', unicode(slugify(nickname))).get()
        existing_profile_with_email = site.profile_set.filter(
            'email =', email).get()
        if (existing_profile_with_slug != None
                and existing_profile_with_slug.key() != profile.key()):
            msg = u"Someone else already took that nickname!"
            self._errors["nickname"] = ErrorList([msg])
            del cleaned_data['nickname']
        if (existing_profile_with_email != None
                and existing_profile_with_email.key() != profile.key()):
            msg = u"Someone has already registered with that email"
            self._errors["email"] = ErrorList([msg])
            del cleaned_data['email']

        return super(ProfileForm, self).clean()
コード例 #30
0
ファイル: views.py プロジェクト: datacommunitydc/eventgrinder
def configure_mailchimp(request):
    site=get_site()
    mc=models.SitesMailchimp.all().ancestor(site).get()
    if not mc:
        if request.method == 'POST':
            form=MailChimpApiKey(request.POST)
            if form.is_valid():
                form.save()
                return HttpResponseRedirect(reverse('configure-mailchimp'))
        else:
            form = MailChimpApiKey()    
        
        return render_to_response('admin/mailchimp_apikey.html', locals(), context_instance=RequestContext(request))

    else:
        chimp=pychimp.PyChimp(mc.apikey)
        lists=chimp.lists()
        list_choices=[(l['id']+'!@!'+l['name'], l['name']) for l in lists]
        
        class MailChimpListForm(forms.Form):
            mailchimp_list=forms.ChoiceField(choices=list_choices)
            
            def save(self):
                mc.listid, mc.listname=self.cleaned_data['mailchimp_list'].split('!@!')
                mc.put()
        
        if request.method=='POST':
            form=MailChimpListForm(request.POST)
            if form.is_valid():
                form.save()
                messages.add_message(request, messages.INFO, "Mailing list configured!")
                return HttpResponseRedirect(reverse('admin-home'))

        
        form=MailChimpListForm()
        return render_to_response('admin/mailchimp_apikey.html', locals(), context_instance=RequestContext(request))
        return HttpResponse(lists)
コード例 #31
0
ファイル: tasks.py プロジェクト: Hubble1/eventgrinder
def create_and_send_campaign(request):
    try:
        if request.method == 'POST':
            api=pychimp.PyChimp(request.POST['apikey'])
            campaign=api.campaignCreate('regular', {'list_id':request.POST['listid'], 'subject':request.POST['subject'], 'from_email':request.POST['from_email'], 'from_name':request.POST['from_name']}, {'url':request.POST['url'], 'text': "check out this weeks events at %s"% request.POST['url']})
            taskqueue.add(url='/subscriptions/send_campaign/', 
                params={'apikey':request.POST['apikey'], 'campaign':campaign,
                }, countdown=20,
                name="campaign-%s"% campaign)
        
        
        
            return HttpResponse("Created campaign %s"% campaign)
        
        
        else:
            site=get_site()
            chimp=site.chimp
            return HttpResponse("""
            <form method="POST">
            url: <input type="text" value="" name="url"/><br/>
            subject: <input type="text" value="" name="subject"/><br/>
            from name: <input type="text" value="" name="from_name"/><br/>
            from email: <input type="text" value="" name="from_email"/>
            <input type="hidden" name="apikey" value="%s"/>
            <input type="hidden" name="listid" value="%s"/>
            <input type="submit" value="Send"/>
            </form>
        
        
        
            """% (chimp.apikey, chimp.listid))
    
    except Exception,e:
        logging.error("%s in \n%s"% (traceback.format_exc(),str(request.POST)))
        HttpResponse("OK")
コード例 #32
0
ファイル: feeds.py プロジェクト: rosskarchner/eventgrinder
 def get_object(self, bits):
     site = get_site()
     return site
コード例 #33
0
ファイル: utility.py プロジェクト: Hubble1/eventgrinder
def week_url(day):
    site=get_site()
    monday=day+relativedelta(MO(-1))
    return "http://%s/week-of/%s" %( site.hostnames[0], monday.strftime("%Y-%m-%d"))
    
コード例 #34
0
 def save(self):
     site = get_site()
     mc = SitesMailchimp(parent=site,
                         apikey=self.cleaned_data['mailchimp_api_key'])
     mc.put()
     return mc
コード例 #35
0
ファイル: views.py プロジェクト: rosskarchner/eventgrinder
def index(request):
    site = get_site()
    if not site:
        return HttpResponseRedirect(reverse('create-site'))
    else:
        return HttpResponseRedirect(reverse('edit-site'))
コード例 #36
0
def week_url(day):
    site = get_site()
    monday = day + relativedelta(MO(-1))
    return "http://%s/week-of/%s" % (site.hostnames[0],
                                     monday.strftime("%Y-%m-%d"))
コード例 #37
0
ファイル: views.py プロジェクト: datacommunitydc/eventgrinder
def index(request):
      site=get_site()
      if not site: 
          return HttpResponseRedirect(reverse('create-site'))
      else:
          return HttpResponseRedirect(reverse('edit-site'))
コード例 #38
0
ファイル: feeds.py プロジェクト: Hubble1/eventgrinder
 def get_object(self, bits):
     site=get_site()
     return site