def post(self): upload_files = self.get_uploads() # 'file' is file upload field in the form photo_url = None back_url = self.request.headers.get('Referer','/') #self.request.get("back_url", "/") max_size = int(self.request.get("max_size", 102400)) if not upload_files: return redirect(back_url) blob_info = upload_files[0] user = get_current_user() logging.debug(" Got user %s 's avatar %d", user.username, blob_info.size) if user and blob_info.size <= max_size: from google.appengine.api import images blob_key = str(blob_info.key()) photo_url = images.get_serving_url(blob_key) photo = Photo(blob_key=blob_key, url=photo_url) photo.put() else: blob_info.delete() logging.error("User's avatar is too large for %s", user.username) import urllib if photo_url: back_url = back_url + "?image_url=" + urllib.quote_plus(photo_url) return redirect(back_url)
def __init__(self, model_obj): super(PermissionUI, self).__init__() if not model_obj: raise APIException("Can't find item. Wrong ID?") self.model_obj = model_obj self.model_user = get_current_user()
def __init__(self, model_obj): super(PermissionUI, self).__init__() if not model_obj: raise APIException("Can't find item. Wrong ID?") self.model_obj = model_obj self.model_user = get_current_user()
def wrapper(self, *args, **kwargs): """docstring for wrapper""" if get_current_user() != Guest: return func(self, *args, **kwargs) else: import home return self.redirect(home.create_login_url(self.request.url))
def wrapper(self, *args, **kwargs): """docstring for wrapper""" if get_current_user() != Guest: return func(self, *args, **kwargs) else: import home return self.redirect(home.create_login_url(self.request.url))
def render_to_string(self): # add always needed info var_dict = self.var_dict # add login info from common.auth import get_current_user, Guest user = get_current_user() user_info = {'login_user': user, 'is_not_guest': user != Guest} var_dict.update(user_info) from home.models import Site site_info = {'site': Site.get_instance()} var_dict.update(site_info) from chrisw.helper.django_helper import render_to_string return render_to_string(self.name + ".html", self.var_dict)
def wrapper(self, *args, **kwargs): """docstring for wrapper""" action = func(self, *args, **kwargs) # append the instance variable if hasattr(action, 'var_dict'): var_dict = action.var_dict var_dict.update(self.__dict__) # skip the keys for key in ('self', 'model_obj', 'model_user'): if var_dict.has_key(key): del var_dict[key] # add permission info in vardict user = get_current_user() var_dict.update( inspect_permissions(self.model_obj, user) ) return action
def wrapper(self, *args, **kwargs): """docstring for wrapper""" action = func(self, *args, **kwargs) # append the instance variable if hasattr(action, 'var_dict'): var_dict = action.var_dict var_dict.update(self.__dict__) # skip the keys for key in ('self', 'model_obj', 'model_user'): if var_dict.has_key(key): del var_dict[key] # add permission info in vardict user = get_current_user() var_dict.update(inspect_permissions(self.model_obj, user)) return action
def post(self): upload_files = self.get_uploads( ) # 'file' is file upload field in the form photo_url = None back_url = self.request.headers.get( 'Referer', '/') #self.request.get("back_url", "/") max_size = int(self.request.get("max_size", 102400)) if not upload_files: return redirect(back_url) blob_info = upload_files[0] user = get_current_user() logging.debug(" Got user %s 's avatar %d", user.username, blob_info.size) if user and blob_info.size <= max_size: from google.appengine.api import images blob_key = str(blob_info.key()) photo_url = images.get_serving_url(blob_key) photo = Photo(blob_key=blob_key, url=photo_url) photo.put() else: blob_info.delete() logging.error("User's avatar is too large for %s", user.username) import urllib if photo_url: back_url = back_url + "?image_url=" + urllib.quote_plus(photo_url) return redirect(back_url)
def quit(self): """docstring for quite""" self.group.quit(get_current_user()) message = "You've been quited from the Group " + self.group.title return back()
def join(self): """docstring for join""" self.group.join(get_current_user()) return back()
def __init__(self, user_stream_info): super(UserStreamUI, self).__init__(user_stream_info) self.user_stream_info = user_stream_info self.user = user_stream_info.user self.current_user = get_current_user()
def post(self): """docstring for post""" user = get_current_user() user_stream_info = UserStreamInfo.get_instance(user=user) return self.post_impl(UserStreamUI(user_stream_info))
def get(self): """docstring for get_impl""" user = get_current_user() if user.key() == Guest.key(): return redirect(settings.DEFAULT_HOME) return redirect('/u/%d' % user.key().id())
elif hasattr(model, 'items'): items = model.items() elif isinstance(model, SIMPLE_TYPES) or model is None: return model else: logging.debug("Can't to dict item %s", model.__dict__) # temprary fix, need be recheck again, it's caused by django's return str(model._proxy____args) if hasattr(model, 'can_visit_key'): check_key = model.can_visit_key else: check_key = lambda x, y : True # can be visited by default from common import auth user = auth.get_current_user() for key, prop in items: if not check_key(user, key): # can't be visited since privacy control continue try: value = getattr(model, key) except datastore_errors.Error: value = None except AttributeError: value = prop if value is None or isinstance(value, SIMPLE_TYPES):
elif hasattr(model, 'items'): items = model.items() elif isinstance(model, SIMPLE_TYPES) or model is None: return model else: logging.debug("Can't to dict item %s", model.__dict__) # temprary fix, need be recheck again, it's caused by django's return str(model._proxy____args) if hasattr(model, 'can_visit_key'): check_key = model.can_visit_key else: check_key = lambda x, y: True # can be visited by default from common import auth user = auth.get_current_user() for key, prop in items: if not check_key(user, key): # can't be visited since privacy control continue try: value = getattr(model, key) except datastore_errors.Error: value = None except AttributeError: value = prop if value is None or isinstance(value, SIMPLE_TYPES):
def __init__(self, group): super(GroupUI, self).__init__(group) self.group = group self.current_user = get_current_user()
def post(self): """docstring for post""" user = get_current_user() user_stream_info = UserStreamInfo.get_instance(user=user) return self.post_impl(UserStreamUI(user_stream_info))
def join(self): """docstring for join""" self.group.join(get_current_user()) return back()
def __init__(self, group): super(GroupUI, self).__init__(group) self.group = group self.current_user = get_current_user()
def get(self): """docstring for get_impl""" user = get_current_user() if user.key() == Guest.key(): return redirect(settings.DEFAULT_HOME) return redirect('/u/%d' % user.key().id())
def __init__(self, topic): super(TopicUI, self).__init__(topic) self.topic = topic self.current_user = get_current_user()
def __init__(self, user_stream_info): super(UserStreamUI, self).__init__(user_stream_info) self.user_stream_info = user_stream_info self.user = user_stream_info.user self.current_user = get_current_user()
def __init__(self, topic): super(TopicUI, self).__init__(topic) self.topic = topic self.current_user = get_current_user()
def __init__(self, group_site): super(GroupSiteUI, self).__init__(group_site) self.group_site = group_site self.user = get_current_user() self.group_info = UserGroupInfo.get_by_user(self.user)
def quit(self): """docstring for quite""" self.group.quit(get_current_user()) message = "You've been quited from the Group " + self.group.title return back()
def post(self): userui = UserUI(get_current_user()) return userui.profile_post(self.request)
def post(self): userui = UserUI(get_current_user()) return userui.profile_post(self.request)
def __init__(self, group_site): super(GroupSiteUI, self).__init__(group_site) self.group_site = group_site self.user = get_current_user() self.group_info = UserGroupInfo.get_by_user(self.user)