Beispiel #1
0
def add_users(request, this_action, next_action, template):
    id = request.REQUEST['id'].strip()
    group = Group.objects.get(groupinstanceid=int(id))

    context = default_context(request, action=this_action, group=group, id=id)

    if 'q' in request.REQUEST:
        q = request.REQUEST['q']
        qs = search_query_set(q)
        context['q'] = q
    else:
        qs = all_query_set()

    if 'mcid' in request.POST:
        mcid = normalize_mcid(request.POST['mcid'])

        if 'remove.x' in request.POST:
            sql_execute("DELETE FROM groupmembers " + \
                        "WHERE groupinstanceid = %s AND memberaccid = %s",
                        int(id), mcid)
        elif 'add.x' in request.POST:
            # Only one group per user
            sql_execute("DELETE FROM groupmembers " + \
          "wHERE memberaccid = %s", mcid)

            sql_execute("INSERT INTO groupmembers " + \
                        "(groupinstanceid, memberaccid) " + \
                        "VALUES (%s, %s)", int(id), mcid)

        return HttpResponseRedirect(this_action)

    if 'prev' in request.POST:
        return HttpResponseRedirect('wiz_name?id=%s' % id)

    if 'finish' in request.POST:
        return HttpResponseRedirect(next_action)

    where = [
        'groupmembers.memberaccid = users.mcid',
        'groupmembers.groupinstanceid = %s' % id
    ]
    context['members'] = User.objects.extra(where=where,
                                            tables=['groupmembers'])

    where = [
        'mcid NOT IN (SELECT memberaccid FROM groupmembers WHERE groupinstanceid = %s)'
        % id
    ]
    select = {
        'groupname':
        'SELECT DISTINCT(name) FROM groupinstances, groupmembers WHERE groupmembers.groupinstanceid = groupinstances.groupinstanceid AND groupmembers.memberaccid = users.mcid'
    }

    return object_list(request,
                       queryset=qs.extra(where=where, select=select),
                       template_name=template,
                       paginate_by=20,
                       extra_context=context)
Beispiel #2
0
def add_users(request, this_action, next_action, template):
    id = request.REQUEST['id'].strip()
    group = Group.objects.get(groupinstanceid=int(id))

    context = default_context(request, action=this_action, group=group, id=id)

    if 'q' in request.REQUEST:
	q = request.REQUEST['q']
	qs = search_query_set(q)
	context['q'] = q
    else:
	qs = all_query_set()

    if 'mcid' in request.POST:
        mcid = normalize_mcid(request.POST['mcid'])

        if 'remove.x' in request.POST:
            sql_execute("DELETE FROM groupmembers " + \
                        "WHERE groupinstanceid = %s AND memberaccid = %s",
                        int(id), mcid)
        elif 'add.x' in request.POST:
	    # Only one group per user
	    sql_execute("DELETE FROM groupmembers " + \
			"wHERE memberaccid = %s", mcid)

            sql_execute("INSERT INTO groupmembers " + \
                        "(groupinstanceid, memberaccid) " + \
                        "VALUES (%s, %s)", int(id), mcid)

        return HttpResponseRedirect(this_action)

    if 'prev' in request.POST:
        return HttpResponseRedirect('wiz_name?id=%s' % id)

    if 'finish' in request.POST:
        return HttpResponseRedirect(next_action)

    where = ['groupmembers.memberaccid = users.mcid',
             'groupmembers.groupinstanceid = %s' % id]
    context['members'] = User.objects.extra(where = where,
                                            tables = ['groupmembers'])

    where = ['mcid NOT IN (SELECT memberaccid FROM groupmembers WHERE groupinstanceid = %s)' % id]
    select = {'groupname': 'SELECT DISTINCT(name) FROM groupinstances, groupmembers WHERE groupmembers.groupinstanceid = groupinstances.groupinstanceid AND groupmembers.memberaccid = users.mcid'}

    return object_list(request,
                       queryset = qs.extra(where = where,
					   select = select),
                       template_name = template,
                       paginate_by = 20,
                       extra_context = context)
Beispiel #3
0
def wiz_create_req(request):
    id = request.REQUEST.get('id', '')
    action = 'wiz_create?id=%s' % id

    if id:
        g = Group.objects.get(groupinstanceid=id)
    else:
        g = None

    queryset = all_query_set()

    if 'search' in request.POST or 'search.x' in request.POST:
        queryset = search_query_set(request.POST['q'])
        form = CreateForm(initial=request.POST)

    elif request.POST:
        form = CreateForm(request.POST)

        if form.is_valid():
            mcid = normalize_mcid(form.clean_data['owner_mcid'])

            if g:
                p = Practice.objects.get(practiceid=g.parentid)
                p.accid_id = g.accid_id = mcid

                p.save()
            else:
                g = create_group('New Group', mcid,
                                 'https://' + request.META['SERVER_NAME'])

            g.save()

            return HttpResponseRedirect('wiz_name?id=%d' % g.groupinstanceid)
    else:
        initial = dict(id=id)

        if 'mcid' in request.REQUEST:
            initial['owner_mcid'] = pretty_mcid(request.REQUEST['mcid'])
        elif g:
            initial['owner_mcid'] = pretty_mcid(g.accid_id)

        form = CreateForm(initial=initial)

    return object_list(request,
                       queryset=queryset,
                       template_name='groups/wiz_1create.html',
                       paginate_by=20,
                       extra_context=default_context(request,
                                                     form=form,
                                                     action=action))
Beispiel #4
0
def wiz_create_req(request):
    id = request.REQUEST.get('id', '')
    action = 'wiz_create?id=%s' % id

    if id:
        g = Group.objects.get(groupinstanceid = id)
    else:
        g = None

    queryset = all_query_set()

    if 'search' in request.POST or 'search.x' in request.POST:
        queryset = search_query_set(request.POST['q'])
        form = CreateForm(initial = request.POST)

    elif request.POST:
        form = CreateForm(request.POST)

        if form.is_valid():
            mcid = normalize_mcid(form.clean_data['owner_mcid'])

            if g:
                p = Practice.objects.get(practiceid = g.parentid)
                p.accid_id = g.accid_id = mcid

                p.save()
            else:
                g = create_group('New Group', mcid,
                                 'https://' + request.META['SERVER_NAME'])

            g.save()

    	    return HttpResponseRedirect('wiz_name?id=%d' % g.groupinstanceid)
    else:
        initial = dict(id = id)

        if 'mcid' in request.REQUEST:
            initial['owner_mcid'] = pretty_mcid(request.REQUEST['mcid'])
	elif g:
	    initial['owner_mcid'] = pretty_mcid(g.accid_id)

        form = CreateForm(initial = initial)

    return object_list(request, queryset = queryset,
                       template_name = 'groups/wiz_1create.html',
                       paginate_by = 20,
                       extra_context = default_context(request,
                                                       form=form,
                                                       action=action))
Beispiel #5
0
def search(request, qstr):
    order_query = "search?"
    order = "-since"

    if qstr:
        order_query += "q=%s&" % quote(qstr)

    search_query = order_query

    if "order" in request.GET:
        order = request.GET["order"]
        search_query += "order=%s&" % quote(order)

    return object_list(
        request,
        queryset=search_query_set(qstr, order_by=order.split(",")),
        template_name="users/search.html",
        paginate_by=20,
        allow_empty=True,
        extra_context=default_context(request, q=qstr, order_query=order_query, search_query=search_query),
    )
Beispiel #6
0
def search(request, qstr):
    order_query = 'search?'
    order = '-since'

    if qstr:
        order_query += 'q=%s&' % quote(qstr)

    search_query = order_query

    if 'order' in request.GET:
        order = request.GET['order']
        search_query += 'order=%s&' % quote(order)

    return object_list(request,
                       queryset=search_query_set(qstr,
                                                 order_by=order.split(',')),
                       template_name='users/search.html',
                       paginate_by=20,
                       allow_empty=True,
                       extra_context=default_context(
                           request,
                           q=qstr,
                           order_query=order_query,
                           search_query=search_query))