Example #1
0
def set_bg(request):
    post = request.POST
    logging.debug('got post: %s' % post)
    xn = request.xiaonei
    user = get_or_create_xnuser(xn)
    selected_bg = post.get('selected[]')
    user.bg_style = int(selected_bg)
    if not user.app_users:
        user.app_users = []
    user.put()
    logging.debug('set bg_style: %s' % selected_bg)
    refresh_user_cache(user)
    return xn.redirect(reverse_xn('canvas', xn.get_app_url()))
Example #2
0
def post_invite(request):
    post = request.POST
    logging.debug('got post: %s' % post)
    xn = request.xiaonei
    user = get_or_create_xnuser(xn)
    invited = post.getlist('ids[]')
    if not user.num_invited:
        user.num_invited = len(invited)
    else:
        user.num_invited += len(invited)
    user.put()
    refresh_user_cache(user)
    url = reverse_xn('choose_bg', xn.get_app_url())
    return xn.redirect(url)
Example #3
0
def notify(request):
    xn = request.xiaonei
    post = request.POST
    if post.has_key('uids[]'):
        uids = post.getlist('uids[]')
        logging.debug('got uids: %s' % uids)
    #send notifications
        t = loader.get_template('notify_invite.xnml')
        try:
            c = Context({'uid':xn.uid,
                         'app_url':xn.get_app_url(),
                         })
            msg = t.render(c)
            logging.debug('Sending notification to %s...' % uids)
            rc = xn.notifications.send(to_ids=uids[:30], notification=msg)
        except XiaoneiError, e:
            logging.error('Error sending notification')
            logging.error(e)
        except:
Example #4
0
        # Record the error in your logs
        logging.error(message)
        # Display an informative message to the user
        logging.error('Storage quota exceeded! selected_uids and wall_name not saved')
    
    #shuffle it a bit!
    random.shuffle(selected)
    if user.bg_style:
        bg_patt_url = get_bg_style(user.bg_style)
    else:
        bg_patt_url = ''
    
    logging.debug('setting profile xnml')
    t = loader.get_template('profile.xnml')
    c = Context({'uids':selected,
                 'app_url':xn.get_app_url(),
                 'num_buddies':len(selected),
                 'wall_name':wall_name,
                 'username':user.username,
                 'media_url':settings.MEDIA_URL,
                 'bg_url':bg_patt_url,
                 })
    prof = t.render(c)
#    logging.debug('profile xnml: %s' % prof)
    try:
        rc = xn.profile.setXNML(profile=prof)
        logging.debug('setxnml response: %s ' % rc)
    except XiaoneiError, e:
        logging.error('failed to setxnml for %s' % user.username)
        logging.error(e)
        refresh_ok = False