return utils.fail( kwargs, data = data, errors = 'Invalid Username' ) return utils.success( kwargs, data = data ) def unlock( request, username, current, password = None, cnfpasswd = None, newpass = None, _ts = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'account/unlock' data = { 'valid' : False, 'errors' : None, 'unlock' : False, 'username' : username, 'current' : current } try : u = User.objects.get( username = username ) p = u.get_profile() if u.check_password( current ): if not newpass: return utils.success( kwargs, data = data ) elif password == cnfpasswd: u.set_password( password ) u.save() data[ 'unlock' ] = True else: return utils.fail( kwargs, data = data, errors = 'Passwords do not match' ) else: return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) data[ 'user' ] = u data[ 'person' ] = p data[ 'admin' ] = 1 data[ 'ratings' ] = set( [ p.id ] )
def edit( request, username, first_name, last_name, desc = '', phone = '', address = '', gender = 'N', dateofbirth = None, edit = None, _ts = None, csrfmiddlewaretoken = None, id = None, **kwargs ): kwargs[ 'page' ] = 'people/profile' data = { 'valid' : False, 'errors' : None } try : u = User.objects.get( username = username ) p = u.get_profile() u.first_name = first_name u.last_name = last_name p.title = first_name + ' ' + last_name p.desc = desc p.phone = phone p.address = address p.gender = gender if dateofbirth: p.dateofbirth = dateofbirth if p.authorize( request, action = 'edit' ): u.save() p.save() data[ 'valid' ] = True else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'user' ] = u data[ 'person' ] = p data[ 'admin' ] = 1 data[ 'ratings' ] = set( [ p.id ] ) except User.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Username' ) data[ 'edit' ] = not data[ 'valid' ]
return utils.success( kwargs, data = data ) def passwd( request, username, current, password, cnfpasswd, passwd = None, _ts = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'people/profile' data = { 'valid' : False, 'errors' : None, 'passwd' : True } try : u = User.objects.get( username = username ) p = u.get_profile() if request.user.check_password( current ): if password == cnfpasswd: u.set_password( password ) if p.authorize( request, action = 'edit' ): u.save() else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) else: return utils.fail( kwargs, data = data, errors = 'Passwords do not match' ) else: return utils.fail( kwargs, data = data, errors = 'Invalid Credentials' ) data[ 'user' ] = u data[ 'person' ] = p data[ 'admin' ] = 1 data[ 'ratings' ] = set( [ p.id ] ) except User.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Username' )
def remove(request, id, parent=settings.STORAGE_BUCKET_ID, _ts=None, csrfmiddlewaretoken=None, **kwargs): kwargs["page"] = "storage/file" data = {"view": True} if not utils.is_numeric(id): return utils.fail(kwargs, data=data, errors="Invalid Request") if float(parent) == settings.STORAGE_BUCKET_ID: return utils.fail(kwargs, data=data, errors="Objects are not allowed here.") user = request.user.get_profile().id if request.user.is_authenticated() else -1 try: s = Directory.objects.get(id=parent) p = request.user.get_profile() if request.user.is_authenticated() else None f = File.objects.get(id=id) data["file"] = f try: f.remove(user=user) except utils.GuardException: return utils.fail(kwargs, data=data, errors="Not Authorized") data["storage"] = s data["admin"] = p.guard(user=user, action="add") except File.DoesNotExist: return utils.fail(kwargs, data=data, errors="Invalid File") except Directory.DoesNotExist: return utils.fail(kwargs, data=data, errors="Invalid Storage") return utils.success(kwargs, data=data)
def rename( request, username, name, id, parent = settings.STORAGE_BUCKET_ID, _ts = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'storage/directory' data = { 'view' : True } if not utils.is_numeric( id ): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) data[ 'regions' ] = settings.STORAGE_NAMES if float( parent ) == settings.STORAGE_BUCKET_ID else False user = request.user.get_profile().id if request.user.is_authenticated() else -1 try : s = Directory.objects.get( id = parent ) p = request.user.get_profile() if request.user.is_authenticated() else None d = Directory.objects.get( id = id ) data[ 'directory' ] = d if d.authorize( request, action = 'edit' ): if d.name != name: d.rename( name ) else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'storage' ] = s data[ 'admin' ] = p.authorize( request, action = 'add' ) except Directory.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Storage' ) return utils.success( kwargs, data = data )
def add(request, username, name, type = settings.STORAGE_DIRECTORY_TYPE, id = settings.STORAGE_BUCKET_ID, _ts = None, csrfmiddlewaretoken = None, **kwargs): kwargs[ 'page' ] = 'storage/directory' data = { 'view' : True } if not utils.is_numeric( id, type ): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) data[ 'regions' ] = settings.STORAGE_NAMES if float( id ) == settings.STORAGE_BUCKET_ID else False user = request.user.get_profile().id if request.user.is_authenticated() else -1 try : s = Directory.objects.get( id = id ) p = request.user.get_profile() if request.user.is_authenticated() else None if d.authorize( request, action = 'add' ): d = Directory( name = name, owner = p, parent = s ) if data[ 'regions' ]: d.type = int( type ) d.add( base = settings.INTERLINK_COLOR_ALL ) d.link( parent = s, base = p ) data[ 'directory' ] = d else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'storage' ] = s data[ 'admin' ] = p.authorize( request, action = 'add' ) except Directory.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Storage' ) return utils.success( kwargs, data = data )
def list( request, username, id = settings.STORAGE_BUCKET_ID, **kwargs ): kwargs[ 'page' ] = 'page/storage' data = { 'list' : True } if not utils.is_numeric( id ): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) data[ 'regions' ] = settings.STORAGE_NAMES if float( id ) == settings.STORAGE_BUCKET_ID else False user = request.user.get_profile().id if request.user.is_authenticated() else -1 try : d = Directory.objects.get( id = id ) u = User.objects.get( username = username ) p = u.get_profile() if d.authorize( request, action = 'list' ): s = d.network.filter( bridge_base = p ) ds = s.filter( type = settings.STORAGE_DIRECTORY_TYPE ) data[ 'directories' ] = ds fs = s.filter( type = settings.STORAGE_FILE_TYPE ) data[ 'files' ] = fs data[ 'valid' ] = True else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'user' ] = u data[ 'person' ] = p data[ 'storage' ] = d data[ 'admin' ] = p.authorize( request, action = 'add' ) except Directory.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Storage' ) return utils.success( kwargs, data = data )
def rename( request, username, name, id, parent=settings.STORAGE_BUCKET_ID, _ts=None, csrfmiddlewaretoken=None, **kwargs ): kwargs["page"] = "storage/directory" data = {"view": True} if not utils.is_numeric(id): return utils.fail(kwargs, data=data, errors="Invalid Request") # if(float(parent) == settings.STORAGE_BUCKET_ID): return utils.fail(kwargs, data = data, errors = 'Objects are not allowed here.') data["regions"] = settings.STORAGE_NAMES if float(parent) == settings.STORAGE_BUCKET_ID else False user = request.user.get_profile().id if request.user.is_authenticated() else -1 try: s = Directory.objects.get(id=parent) p = request.user.get_profile() if request.user.is_authenticated() else None d = Directory.objects.get(id=id) data["directory"] = d try: if d.name != name: name = get_available_name(name, s, user, request) d.edit(user=user) d.rename(name) except utils.GuardException: return utils.fail(kwargs, data=data, errors="Not Authorized") data["storage"] = s data["admin"] = p.guard(user=user, action="add") except Directory.DoesNotExist: return utils.fail(kwargs, data=data, errors="Invalid Storage") return utils.success(kwargs, data=data)
def remove( request, id, parent = settings.STORAGE_BUCKET_ID, _ts = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'storage/file' data = { 'view' : True } if not utils.is_numeric( id ): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) if( float( parent ) == settings.STORAGE_BUCKET_ID ): return utils.fail( kwargs, data = data, errors = 'Objects are not allowed here.' ) user = request.user.get_profile().id if request.user.is_authenticated() else -1 try : s = Directory.objects.get( id = parent ) p = request.user.get_profile() if request.user.is_authenticated() else None f = File.objects.get( id = id ) data[ 'file' ] = f if f.authorize( request, action = 'remove' ): f.remove() else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'storage' ] = s data[ 'admin' ] = p.authorize( request, action = 'add' ) except File.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid File' ) except Directory.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Storage' ) return utils.success( kwargs, data = data )
def add(request, username, name, root=0, id=settings.STORAGE_BUCKET_ID, _ts=None, csrfmiddlewaretoken=None, **kwargs): kwargs["page"] = "storage/directory" data = {"view": True} if not utils.is_numeric(id, root): return utils.fail(kwargs, data=data, errors="Invalid Request") data["regions"] = settings.STORAGE_NAMES if float(id) == settings.STORAGE_BUCKET_ID else False user = request.user.get_profile().id if request.user.is_authenticated() else -1 try: s = Directory.objects.get(id=id) p = request.user.get_profile() if request.user.is_authenticated() else None name = get_available_name(name, s, user, request) try: d = Directory(name=name, type="directory", parent=s, owner=p, author=request.user.username) if data["regions"]: d.root = int(root) d.add(user=user, ecolor="all." + request.user.username) data["directory"] = d except utils.GuardException: return utils.fail(kwargs, data=data, errors="Not Authorized") data["storage"] = s data["admin"] = p.guard(user=user, action="add") except Directory.DoesNotExist: return utils.fail(kwargs, data=data, errors="Invalid Storage") return utils.success(kwargs, data=data)
def upload( request, username, name=None, id=None, parent=settings.STORAGE_BUCKET_ID, _ts=None, csrfmiddlewaretoken=None, **kwargs ): kwargs["page"] = "storage/file" data = {"view": True} if (id and not utils.is_numeric(id)) or (not name and not request.FILES): return utils.fail(kwargs, data=data, errors="Invalid Request") if float(parent) == settings.STORAGE_BUCKET_ID: return utils.fail(kwargs, data=data, errors="Objects are not allowed here.") user = request.user.get_profile().id if request.user.is_authenticated() else -1 try: s = Directory.objects.get(id=parent) p = request.user.get_profile() if request.user.is_authenticated() else None name = name if name else request.FILES["file"].name if not id: name = get_available_name(name, s, user, request) try: f = File(name=name, type="file", parent=s, owner=p, author=request.user.username) print f.id f.add(user=user, ecolor="all." + request.user.username) data["file"] = f except utils.GuardException: return utils.fail(kwargs, data=data, errors="Not Authorized") else: f = File.objects.get(id=id) data["file"] = f if request.FILES: try: f.file = request.FILES["file"] f.mime = request.FILES["file"].content_type f.edit(user=user) except utils.GuardException: return utils.fail(kwargs, data=data, errors="Not Authorized") data["storage"] = s data["admin"] = p.guard(user=user, action="add") except Directory.DoesNotExist: return utils.fail(kwargs, data=data, errors="Invalid Storage") return utils.success(kwargs, data=data)
# data[ 'photo' ] = not data[ 'valid' ] # data[ 'view' ] = data[ 'valid' ] return utils.success( kwargs, data = data ) def reset( request, username = None, email = None, resetpass = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'account/login' data = { 'valid' : True, 'errors' : None, 'reset' : True } if request.user.is_authenticated(): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) try: u = User.objects.get( username = username, email = email ) if not u.is_active: return utils.fail( kwargs, data = data, errors = 'Invalid Username' ) if not u.get_profile().reset(): return utils.fail( kwargs, data = data, errors = 'Error Sending Mail' )
def profile( request, username, **kwargs ): kwargs[ 'page' ] = 'people/profile' data = { 'success' : False, 'errors' : None, 'view' : True } print username if username: try: u = User.objects.get( username = username ) p = u.get_profile() data[ 'success' ] = True data[ 'user' ] = u data[ 'person' ] = p data[ 'admin' ] = p.authorize( request, action = 'edit' ) except User.DoesNotExist: data[ 'errors' ] = 'Invalid Username' else: data[ 'errors' ] = 'Invalid Username' return utils.success( kwargs, data = data )
def upload( request, username, name = None, id = None, parent = settings.STORAGE_BUCKET_ID, _ts = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'storage/file' data = { 'view' : True } if( id and not utils.is_numeric( id ) ) or ( not name and not request.FILES ): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) if( float( parent ) == settings.STORAGE_BUCKET_ID ): return utils.fail( kwargs, data = data, errors = 'Objects are not allowed here.' ) user = request.user.get_profile().id if request.user.is_authenticated() else -1 try : s = Directory.objects.get( id = parent ) p = request.user.get_profile() if request.user.is_authenticated() else None name = name if name else request.FILES[ 'file' ].name if not id: if s.authorize( request, action = 'add' ): f = File( name = name, type = settings.STORAGE_FILE_TYPE, owner = p, parent = s ) f.add( base = settings.INTERLINK_COLOR_ALL ) f.link( parent = s, base = p ) data[ 'file' ] = f else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) else: f = File.objects.get( id = id ) data[ 'file' ] = f if request.FILES: if f.authorize( request, action = 'edit' ): f.write( request ) else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'storage' ] = s data[ 'admin' ] = p.authorize( request, action = 'add' ) except Directory.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Storage' ) return utils.success( kwargs, data = data )
def change( request, username, name = None, id = None, parent = settings.STORAGE_BUCKET_ID, _ts = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'storage/file' data = { 'view' : True } if not utils.is_numeric( id ) or ( not name and not request.FILES ): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) if( float( parent ) == settings.STORAGE_BUCKET_ID ): return utils.fail( kwargs, data = data, errors = 'Objects are not allowed here.' ) user = request.user.get_profile().id if request.user.is_authenticated() else -1 try : s = Directory.objects.get( id = parent ) p = request.user.get_profile() if request.user.is_authenticated() else None name = name if name else request.FILES[ 'file' ].name f = File.objects.get( id = id ) data[ 'file' ] = f if f.authorize( request, action = 'edit' ): if f.name != name: f.rename( name ) if request.FILES: f.file = request.FILES[ 'file' ] f.mime = request.FILES[ 'file' ].content_type else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'storage' ] = s data[ 'admin' ] = p.authorize( request, action = 'add' ) except File.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid File' ) except Directory.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Storage' ) return utils.success( kwargs, data = data )
def rate( request, id, username, _ts = None, csrfmiddlewaretoken = None, **kwargs ): kwargs[ 'page' ] = 'kestrel/engine/rate' data = { 'view' : True } if not utils.is_numeric( id ): return utils.fail( kwargs, data = data, errors = 'Invalid Request' ) try : if not request.user.is_authenticated(): return utils.fail( kwargs, data = data, errors = 'Invalid User' ) p = request.user.get_profile() sql = ''.join( [ 'SELECT *, exists( SELECT `interlink_bridge`.`id` from `interlink_bridge` where `src_id`=', str( p.id ),' and `sink_id`=`interlink_node`.`id` and `base`=', str( settings.ENGINE_RATING_TYPE ),' ) as `done` from `interlink_node` WHERE `interlink_node`.`id`=', str( id ),' LIMIT 1' ] ) n = Node.objects.raw( sql )[ 0 ] rating = -1 if n.done else 1 if n.authorize( request, action = 'rate' ): n.rating = models.F( 'rating' ) + rating n.save() if n.done: n.unlink( parent = p, base = settings.ENGINE_RATING_TYPE ) else: n.link( parent = p, base = settings.ENGINE_RATING_TYPE ) n = Node.objects.raw( sql )[ 0 ] data[ 'node' ] = n if n.done: data[ 'ratings' ] = set( [ n.id ] ) print n.rating else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) except Node.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Node' ) return utils.success( kwargs, data = data )
return utils.success( kwargs, data = data ) def photo( request, username, photo = None, _ts = None, csrfmiddlewaretoken = None, id = None, **kwargs ): kwargs[ 'page' ] = 'people/profile' data = { 'valid' : False, 'errors' : None, 'photo' : True } try : u = User.objects.get( username = username ) p = u.get_profile() if p.authorize( request, action = 'edit' ): p.photo.file = request.FILES[ 'file' ] p.photo.mime = request.FILES[ 'file' ].content_type p.photo.save() else: return utils.fail( kwargs, data = data, errors = 'Not Authorized' ) data[ 'user' ] = u data[ 'person' ] = p data[ 'admin' ] = 1 data[ 'valid' ] = True data[ 'ratings' ] = set( [ p.id ] ) except User.DoesNotExist: return utils.fail( kwargs, data = data, errors = 'Invalid Username' )