Example #1
0
 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')
Example #2
0
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
Example #3
0
    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)
Example #4
0
    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')
Example #5
0
    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')
Example #6
0
    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')
Example #7
0
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)
Example #8
0
    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')
Example #9
0
    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')
Example #10
0
    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')
Example #11
0
 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')
Example #12
0
 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')
Example #13
0
    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')
Example #14
0
    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')
Example #15
0
    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')
Example #16
0
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
Example #17
0
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)
Example #18
0
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)