def read(self, request, workspace_id, tab_id, igadget_id): user = get_user_authentication(request) igadget = get_list_or_404(IGadget, tab__workspace__user=user, tab__workspace__pk=workspace_id, tab__pk=tab_id, pk=igadget_id) data = serializers.serialize('python', igadget, ensure_ascii=False) igadget_data = get_igadget_data(data[0]) return HttpResponse(json_encode(igadget_data), mimetype='application/json; charset=UTF-8')
def SaveIGadget(igadget, user, tab): gadget_uri = igadget.get('gadget') igadget_code = igadget.get('code') igadget_name = igadget.get('name') width = igadget.get('width') height = igadget.get('height') top = igadget.get('top') left = igadget.get('left') # Creates IGadget position position = Position(posX=left, posY=top, height=height, width=width, minimized=False) position.save() # Creates the new IGadget try: # Gadget uri does not contain the prefix "/user" yet if gadget_uri.startswith("/user") or gadget_uri.startswith("user"): gadget_uri_parts = gadget_uri.split("/") gadget_uri = "/" + "/".join(gadget_uri_parts[gadget_uri_parts.index("gadgets"):]) gadget = Gadget.objects.get(uri=gadget_uri, users=user) new_igadget = IGadget(code=igadget_code, name=igadget_name, gadget=gadget, tab=tab, position=position) new_igadget.save() variableDefs = VariableDef.objects.filter(gadget=gadget) for varDef in variableDefs: # Sets the default value of variable if varDef.default_value: var_value = varDef.default_value else: var_value = '' # Creating the Abstract Variable abstractVar = AbstractVariable(type="IGADGET", name=varDef.name) abstractVar.save() # Creating Value for Abstract Variable variableValue = VariableValue (user=user, value=var_value, abstract_variable=abstractVar) variableValue.save() var = Variable(vardef=varDef, igadget=new_igadget, abstract_variable=abstractVar) var.save() #Wiring related vars (SLOT&EVENTS) have implicit connectables! connectableId = createConnectable(var) transaction.commit() igadget_data = serializers.serialize('python', [new_igadget], ensure_ascii=False) ids = get_igadget_data(igadget_data[0], user, tab.workspace) return ids except Gadget.DoesNotExist: raise Gadget.DoesNotExist(_('referred gadget %(gadget_uri)s does not exist.') % {'gadget_uri': gadget_uri}) except VariableDef.DoesNotExist: #iGadget has no variables. It's normal pass
def create(self, request, workspace_id, tab_id): user = get_user_authentication(request) if 'igadget' not in request.POST: return HttpResponseBadRequest(get_xml_error(_("iGadget JSON expected")), mimetype='application/xml; charset=UTF-8') # Data checking and parsing try: igadget = simplejson.loads(request.POST['igadget']) except: return HttpResponseBadRequest(get_xml_error(_('iGadget data is not valid JSON'))) initial_variable_values = None if 'variable_values' in request.POST: try: initial_variable_values = simplejson.loads(request.POST['variable_values']) except: return HttpResponseBadRequest(get_xml_error(_('variables_values must be a valid JSON value'))) # iGadget creation try: tab = Tab.objects.get(workspace__users__id=user.id, workspace__pk=workspace_id, pk=tab_id) igadget = SaveIGadget(igadget, user, tab, initial_variable_values) igadget_data = get_igadget_data(igadget, user, tab.workspace) return HttpResponse(json_encode(igadget_data), mimetype='application/json; charset=UTF-8') except Gadget.DoesNotExist, e: msg = _('referred gadget %(gadget_uri)s does not exist.') % {'gadget_uri': igadget['gadget']} raise TracedServerError(e, {'igadget': igadget, 'user': user, 'tab': tab}, request, msg)
def read(self, request, workspace_id, tab_id): user = get_user_authentication(request) data_list = {} igadget = IGadget.objects.filter(tab__workspace__user=user, tab__workspace__pk=workspace_id, tab__pk=tab_id) data = serializers.serialize('python', igadget, ensure_ascii=False) data_list['iGadgets'] = [get_igadget_data(d) for d in data] return HttpResponse(json_encode(data_list), mimetype='application/json; charset=UTF-8')
def read(self, request, workspace_id, tab_id, igadget_id): user = get_user_authentication(request) workspace = get_object_or_404(WorkSpace, id=workspace_id) igadget = get_object_or_404(IGadget, tab__workspace__users__id=user.id, tab__workspace=workspace, tab__pk=tab_id, pk=igadget_id) igadget_data = get_igadget_data(igadget, user, workspace) return HttpResponse(json_encode(igadget_data), mimetype='application/json; charset=UTF-8')
def read(self, request, workspace_id, tab_id): user = get_user_authentication(request) workspace = get_object_or_404(WorkSpace, id=workspace_id) data_list = {} igadgets = IGadget.objects.filter(tab__workspace__users__id=user.id, tab__workspace__pk=workspace_id, tab__pk=tab_id) data_list['iGadgets'] = [get_igadget_data(igadget, user, workspace) for igadget in igadgets] return HttpResponse(json_encode(data_list), mimetype='application/json; charset=UTF-8')
def SaveIGadget(igadget, user, tab, request): gadget_uri = igadget.get('gadget') igadget_name = igadget.get('name') width = igadget.get('width') height = igadget.get('height') top = igadget.get('top') left = igadget.get('left') icon_top = igadget.get('icon_top') icon_left = igadget.get('icon_left') zIndex = igadget.get('zIndex') layout = igadget.get('layout') menu_color = igadget.get('menu_color') # Creates IGadget position position = Position(posX=left, posY=top, posZ=zIndex, height=height, width=width, minimized=False, fulldragboard=False) position.save() # Creates IGadget icon position icon_position = Position(posX=icon_left, posY=icon_top) icon_position.save() # Creates the new IGadget try: # Gadget uri does not contain the prefix "/user" yet if gadget_uri.startswith("/user") or gadget_uri.startswith("user"): gadget_uri_parts = gadget_uri.split("/") gadget_uri = "/" + "/".join(gadget_uri_parts[gadget_uri_parts.index("gadgets"):]) gadget = Gadget.objects.get(uri=gadget_uri, users=user) new_igadget = IGadget(name=igadget_name, gadget=gadget, tab=tab, layout=layout, position=position, icon_position=icon_position, transparency=False, menu_color=menu_color) new_igadget.save() initial_variable_values = None if 'variable_values' in request.POST: initial_variable_values = simplejson.loads(request.POST['variable_values']) variableDefs = VariableDef.objects.filter(gadget=gadget) for varDef in variableDefs: try: initial_value = initial_variable_values[varDef.name] except: initial_value = None addIGadgetVariable(new_igadget, user, varDef, initial_value) transaction.commit() ids = get_igadget_data(new_igadget, user, tab.workspace) return ids except Gadget.DoesNotExist, e: msg = _('referred gadget %(gadget_uri)s does not exist.') % {'gadget_uri': gadget_uri} raise TracedServerError(e, {'igadget': igadget, 'user': user, 'tab': tab}, request, msg)
def read(self, request, user_name, igadget_id, screen_id=None): user = user_authentication(request, user_name) #TODO by default. Remove in final release if not screen_id: screen_id = 1 data_list = {} #Gets current user screen screen = Screen.objects.get(user=user, code=screen_id) igadget = get_list_or_404(IGadget, screen=screen, code=igadget_id) data = serializers.serialize('python', igadget, ensure_ascii=False) igadget_data = get_igadget_data(data[0]) return HttpResponse(json_encode(igadget_data), mimetype='application/json; charset=UTF-8')
def read(self, request, user_name, igadget_id, screen_id=None): user = user_authentication(user_name) #TODO by default. Remove in final release if not screen_id: screen_id = 1 data_list = {} #Gets current user screen screen = Screen.objects.get(user=user, code=screen_id) igadget = get_list_or_404(IGadget, screen=screen, code=igadget_id) data = serializers.serialize('python', igadget, ensure_ascii=False) igadget_data = get_igadget_data(data[0]) return HttpResponse(json_encode(igadget_data), mimetype='application/json; charset=UTF-8')
def read(self, request, workspace_id, tab_id): user = get_user_authentication(request) workspace = get_object_or_404(WorkSpace, id=workspace_id) data_list = {} igadgets = IGadget.objects.filter(tab__workspace__users__id=user.id, tab__workspace__pk=workspace_id, tab__pk=tab_id) data_list['iGadgets'] = [ get_igadget_data(igadget, user, workspace) for igadget in igadgets ] return HttpResponse(json_encode(data_list), mimetype='application/json; charset=UTF-8')
def read(self, request, user_name, screen_id=None): user = user_authentication(user_name) #TODO by default. Remove in final release if not screen_id: screen_id = 1 data_list = {} try: screen = Screen.objects.get(user=user, code=screen_id) except Screen.DoesNotExist: data_list['iGadgets'] = [] return HttpResponse(json_encode(data_list), mimetype='application/json; charset=UTF-8') igadget = IGadget.objects.filter(screen=screen) data = serializers.serialize('python', igadget, ensure_ascii=False) data_list['iGadgets'] = [get_igadget_data(d) for d in data] return HttpResponse(json_encode(data_list), mimetype='application/json; charset=UTF-8')
def read(self, request, user_name, screen_id=None): user = user_authentication(request, user_name) #TODO by default. Remove in final release if not screen_id: screen_id = 1 data_list = {} try: screen = Screen.objects.get(user=user, code=screen_id) except Screen.DoesNotExist: data_list['iGadgets'] = [] return HttpResponse(json_encode(data_list), mimetype='application/json; charset=UTF-8') igadget = IGadget.objects.filter(screen=screen) data = serializers.serialize('python', igadget, ensure_ascii=False) data_list['iGadgets'] = [get_igadget_data(d) for d in data] return HttpResponse(json_encode(data_list), mimetype='application/json; charset=UTF-8')
def SaveIGadget(igadget, user, tab): gadget_uri = igadget.get('gadget') igadget_name = igadget.get('name') width = igadget.get('width') height = igadget.get('height') top = igadget.get('top') left = igadget.get('left') zIndex = igadget.get('zIndex') layout = igadget.get('layout') # Creates IGadget position position = Position(posX=left, posY=top, posZ=zIndex, height=height, width=width, minimized=False) position.save() # Creates the new IGadget try: # Gadget uri does not contain the prefix "/user" yet if gadget_uri.startswith("/user") or gadget_uri.startswith("user"): gadget_uri_parts = gadget_uri.split("/") gadget_uri = "/" + "/".join( gadget_uri_parts[gadget_uri_parts.index("gadgets"):]) gadget = Gadget.objects.get(uri=gadget_uri, users=user) new_igadget = IGadget(name=igadget_name, gadget=gadget, tab=tab, layout=layout, position=position, transparency=False) new_igadget.save() variableDefs = VariableDef.objects.filter(gadget=gadget) for varDef in variableDefs: # Sets the default value of variable if varDef.default_value: var_value = varDef.default_value else: var_value = '' # Creating the Abstract Variable abstractVar = AbstractVariable(type="IGADGET", name=varDef.name) abstractVar.save() # Creating Value for Abstract Variable variableValue = VariableValue(user=user, value=var_value, abstract_variable=abstractVar) variableValue.save() var = Variable(vardef=varDef, igadget=new_igadget, abstract_variable=abstractVar) var.save() #Wiring related vars (SLOT&EVENTS) have implicit connectables! connectableId = createConnectable(var) transaction.commit() igadget_data = serializers.serialize('python', [new_igadget], ensure_ascii=False) ids = get_igadget_data(igadget_data[0], user, tab.workspace) return ids except Gadget.DoesNotExist: raise Gadget.DoesNotExist( _('referred gadget %(gadget_uri)s does not exist.') % {'gadget_uri': gadget_uri}) except VariableDef.DoesNotExist: #iGadget has no variables. It's normal pass
def SaveIGadget(igadget, user, tab): gadget_uri = igadget.get('gadget') igadget_name = igadget.get('name') width = igadget.get('width') height = igadget.get('height') top = igadget.get('top') left = igadget.get('left') zIndex = igadget.get('zIndex') layout = igadget.get('layout') menu_color = igadget.get('menu_color') # Creates IGadget position position = Position(posX=left, posY=top, posZ=zIndex, height=height, width=width, minimized=False) position.save() # Creates the new IGadget try: # Gadget uri does not contain the prefix "/user" yet if gadget_uri.startswith("/user") or gadget_uri.startswith("user"): gadget_uri_parts = gadget_uri.split("/") gadget_uri = "/" + "/".join(gadget_uri_parts[gadget_uri_parts.index("gadgets"):]) gadget = Gadget.objects.get(uri=gadget_uri, users=user) new_igadget = IGadget(name=igadget_name, gadget=gadget, tab=tab, layout=layout, position=position, transparency=False, menu_color=menu_color) new_igadget.save() variableDefs = VariableDef.objects.filter(gadget=gadget) for varDef in variableDefs: # Sets the default value of variable if varDef.default_value: var_value = varDef.default_value else: var_value = '' # Creating the Abstract Variable abstractVar = AbstractVariable(type="IGADGET", name=varDef.name) abstractVar.save() # Creating Value for Abstract Variable variableValue = VariableValue (user=user, value=var_value, abstract_variable=abstractVar) variableValue.save() var = Variable(vardef=varDef, igadget=new_igadget, abstract_variable=abstractVar) var.save() #Wiring related vars (SLOT&EVENTS) have implicit connectables! connectableId = createConnectable(var) transaction.commit() igadget_data = serializers.serialize('python', [new_igadget], ensure_ascii=False) ids = get_igadget_data(igadget_data[0], user, tab.workspace) return ids except Gadget.DoesNotExist, e: msg = _('referred gadget %(gadget_uri)s does not exist.') % {'gadget_uri': gadget_uri} raise TracedServerError(e, {'igadget': igadget, 'user': user, 'tab': tab}, request, msg)
def SaveIGadget(igadget, user, tab, request): gadget_uri = igadget.get('gadget') igadget_name = igadget.get('name') width = igadget.get('width') height = igadget.get('height') top = igadget.get('top') left = igadget.get('left') icon_top = igadget.get('icon_top') icon_left = igadget.get('icon_left') zIndex = igadget.get('zIndex') layout = igadget.get('layout') menu_color = igadget.get('menu_color') # Creates IGadget position position = Position(posX=left, posY=top, posZ=zIndex, height=height, width=width, minimized=False, fulldragboard=False) position.save() # Creates IGadget icon position icon_position = Position(posX=icon_left, posY=icon_top) icon_position.save() # Creates the new IGadget try: # Gadget uri does not contain the prefix "/user" yet if gadget_uri.startswith("/user") or gadget_uri.startswith("user"): gadget_uri_parts = gadget_uri.split("/") gadget_uri = "/" + "/".join( gadget_uri_parts[gadget_uri_parts.index("gadgets"):]) gadget = Gadget.objects.get(uri=gadget_uri, users=user) new_igadget = IGadget(name=igadget_name, gadget=gadget, tab=tab, layout=layout, position=position, icon_position=icon_position, transparency=False, menu_color=menu_color) new_igadget.save() initial_variable_values = None if 'variable_values' in request.POST: initial_variable_values = simplejson.loads( request.POST['variable_values']) variableDefs = VariableDef.objects.filter(gadget=gadget) for varDef in variableDefs: try: initial_value = initial_variable_values[varDef.name] except: initial_value = None addIGadgetVariable(new_igadget, user, varDef, initial_value) transaction.commit() ids = get_igadget_data(new_igadget, user, tab.workspace) return ids except Gadget.DoesNotExist, e: msg = _('referred gadget %(gadget_uri)s does not exist.') % { 'gadget_uri': gadget_uri } raise TracedServerError(e, { 'igadget': igadget, 'user': user, 'tab': tab }, request, msg)