Пример #1
0
def account_settings(request):
    context = RequestContext(request)
    profile = fbutil.profile_for_user(request.user)
    if not profile:
        return render_to_response('contrib/facebook/link.html', context)

    settings = profile.settings.all()[0]
    form = forms.FacebookSettingsForm(instance=settings)
    if request.method == 'POST':
        form = forms.FacebookSettingsForm(request.POST, instance=settings)
        if form.is_valid():
            profile = fbutil.profile_for_user(request.user)
            if not profile:
                raise ValueError, "Bad profile"
            settings = form.save(commit=False)
            settings.profile = profile
            settings.save()
    context['settings_form'] = form
    return render_to_response('contrib/facebook/settings.html', context)
Пример #2
0
def account_settings(request):
  context = RequestContext(request)
  profile = fbutil.profile_for_user(request.user)
  if not profile:
    return render_to_response('contrib/facebook/link.html', context)

  settings = profile.settings.all()[0]
  form = forms.FacebookSettingsForm(instance=settings)
  if request.method == 'POST':
    form = forms.FacebookSettingsForm(request.POST, instance=settings)
    if form.is_valid():
      profile = fbutil.profile_for_user(request.user)
      if not profile:
        raise ValueError, "Bad profile"
      settings = form.save(commit=False)
      settings.profile = profile
      settings.save()
  context['settings_form'] = form
  return render_to_response('contrib/facebook/settings.html', context)
Пример #3
0
  def _AnotherBeerOnTheWall(self, drink):
    if not drink.user:
      return
    user = drink.user
    profile = fbutil.profile_for_user(user)
    if not profile:
      self._logger.info('No profile for user %s' % user)
      return

    session = fbutil.session_for_user(user)
    if not session:
      self._logger.info('No facebook session for user %s' % user)
      return

    settings = fbutil.settings_for_user(user)
    if not settings:
      self._logger.info('No facebook settings for user %s' % user)
      return

    if not settings.publish_events:
      self._logger.info('Publishing disabled by user\'s settings.')
      return

    # Format the message
    if drink.keg and drink.keg.type.name:
      beer_name = drink.keg.type.name
    else:
      beer_name = 'beer'

    ounces = drink.Volume().ConvertTo.Ounce
    message = 'just poured %(ounces).1f ounces of %(beer_name)s from Kegbot.' % vars()

    action_links = [
      {
        'text': 'View Drink',
        'href': drink.ShortUrl(),
      }
    ]

    privacy = settings.privacy

    # TODO(mikey): pyfacebook streamPublish does not support privacy (?)
    fbutil.stream_publish(user, message=message,
        action_links=action_links)
Пример #4
0
  def _AnotherBeerOnTheWall(self, drink):
    if not drink.user:
      return
    user = drink.user
    profile = fbutil.profile_for_user(user)
    if not profile:
      self._logger.info('No profile for user %s' % user)
      return

    session = fbutil.session_for_user(user)
    if not session:
      self._logger.info('No facebook session for user %s' % user)
      return

    settings = fbutil.settings_for_user(user)
    if not settings:
      self._logger.info('No facebook settings for user %s' % user)
      return

    if not settings.publish_events:
      self._logger.info('Publishing disabled by user\'s settings.')
      return

    # Format the message
    if drink.keg and drink.keg.type.name:
      beer_name = drink.keg.type.name
    else:
      beer_name = 'beer'

    ounces = drink.Volume().InOunces()
    message = 'just poured %(ounces).1f ounces of %(beer_name)s from Kegbot.' % vars()

    action_links = [
      {
        'text': 'View Drink',
        'href': drink.ShortUrl(),
      }
    ]

    privacy = settings.privacy

    # TODO(mikey): pyfacebook streamPublish does not support privacy (?)
    fbutil.stream_publish(user, message=message,
        action_links=action_links)