Exemplo n.º 1
0
    def save(self, *args, **kwargs):
        "Form processor"

        profile = None

        if self.invitation:
            # Create DjangoUser
            django_user = django_auth.User(
                username=self.cleaned_data['username'], password='')
            django_user.set_password(self.cleaned_data['password'])
            django_user.save()

            # Crate profile
            try:
                profile = django_user.profile
            except:
                profile = User()
                profile.user = django_user

            profile.name = django_user.username
            profile.default_group = self.invitation.default_group
            profile.save()

            # Create contact
            try:
                contact_type = ContactType.objects.get(
                    Q(name='Person') | Q(slug='person'))
            except:
                contact_type = ContactType.objects.all()[0]

            try:
                # Check if contact has already been created (e.g. by a signals
                contact = profile.get_contact()
                if not contact:
                    contact = Contact()
            except:
                contact = Contact()

            contact.name = self.cleaned_data['name']
            contact.contact_type = contact_type
            contact.related_user = profile
            contact.save()

            # Set email
            try:
                emailfield = contact_type.fields.filter(field_type='email')[0]
                email = ContactValue(
                    value=self.invitation.email, field=emailfield, contact=contact)
                email.save()
            except:
                pass

            # Add quick start widget
            widget = Widget(user=profile,
                            perspective=profile.get_perspective(),
                            module_name='anaf.core',
                            widget_name='widget_welcome')
            widget.save()

        return profile
Exemplo n.º 2
0
def main(data):

    action = data.get("action", "read")
    input_data = data.get("data", {})
    result = {}

    if action == "create":
        widget = Widget()
        widget.fill_from_json(input_data)
        widget.save(b64source=input_data.get("b64source", None))
        result[widget.guid] = widget.to_json()

    elif action == "read":
        for wid_guid in input_data:
            widget = Widget.get(guid=wid_guid)
            result[wid_guid] = widget.to_json(
                include=["b64source"]) if widget else None

    elif action == "update":
        for widget_guid in input_data:
            widget = Widget.get(guid=widget_guid)
            wid_json = input_data[widget_guid]
            if widget:
                widget.fill_from_json(wid_json)
                widget.save(b64source=input_data.get("b64source", None))
                result[widget_guid] = widget.to_json(include=["b64source"])

    elif action == "delete":
        for widget_guid in input_data:
            widget = Widget.get(guid=widget_guid)
            if widget:
                widget.delete()
                result[widget_guid] = "deleted"
            else:
                result[widget_guid] = "not_found"

    write_response(result)
Exemplo n.º 3
0
workspace = Workspace.get(guid=workspace_id)

if not workspace:
	self.action('goTo', ['/main'])

elif command in ['delete', 'update']:

	if 'widget_id' not in request.arguments:
		raise Exception(u'Widget ID is not provided')
	widget_id = request.arguments['widget_id']
	widget = Widget.get(guid=widget_id, workspace_id=workspace.guid)

	if widget:
		if command == 'delete':
			widget.delete()
		else:
			title = request.arguments['title']
			if title:
				widget.name = title
				widget.save()

	self.dialog_update.action('hide', ['0'])

elif command == 'create':
	title = request.arguments['title']
	if title:
		widget = Widget()
		widget.workspace_id = workspace.guid
		widget.name = title
		widget.save()