Ejemplo n.º 1
0
def set_invitation_to_org(org, u):
    message = {
        "error":
        _(u"Ocurrió un error y no se agregó al usuario. por favor recargue pa página e intente de nuevo"
          )
    }
    if org and u:
        if org.has_user_role(u, "is_member"):
            message = {
                "error":
                _(u"%s ya es miembro de la organización" % u.get_full_name())
            }
        else:
            if org.can_add_members():
                org.set_role(u, is_member=True)
                user = {
                    "id": u.id,
                    "email": u.email,
                    "username": u.username,
                    "image": showgravatar(u.email, 28),
                    "full_name": u.get_full_name(),
                    "is_member": True
                }
                message = {
                    "invited":
                    _(u"%s ahora es miembro de la organización %s" %
                      (u.get_full_name(), org.name)),
                    "user":
                    user
                }
            else:
                message = {
                    "error":
                    _(u"La organización ya no tiene cupos para agregar usuarios. Comuniquese con el administrador de la organización para actualizar el cupo de miembros."
                      )
                }
    return message
Ejemplo n.º 2
0
        except Exception, e:
            first_name = m.id_user.username
        sn = first_name + " " + last_name + ".",
        members_list.append({
            "id":
            m.id_user.id,
            "username":
            m.id_user.username,
            "email":
            m.id_user.email,
            "full_name":
            m.id_user.get_full_name(),
            "short_name":
            sn,
            "img":
            showgravatar(m.id_user.email, 20),
            "is_active":
            m.id_user.is_active,
            "get_minutes_signed":
            rol.get_minutes_signed() if (minutes and rol) else "",
            "role": {
                "is_president": rol.is_president if rol else False,
                "is_secretary": rol.is_secretary if rol else False,
                "is_signer": rol.is_signer if rol else False,
                "is_approver": rol.is_approver if rol else False,
                "is_assistant": rol.is_assistant if rol else False,
                "is_signer": rol.is_signer if rol else False
            }
        })

    return members_list
Ejemplo n.º 3
0
         responsible_obj, 
         due, 
         minutes_obj, 
         request.user,
         accountable_obj,
         consulted_list,
         informed_list
     )
     if not task_obj:
         message = {'error': response} 
     else:
         # if not request.user.id == responsible_obj.id:
         create_notification(
             "NEW_TASK",
             request.user,
             showgravatar(request.user.email, 50),
             reverse("show_minute", args=(minutes_obj.id_group.slug,minutes_obj.code,))+"#show-tasks",
             u"<strong>{} @{}</strong> te ha asignado una tarea en el Acta <strong>{}</strong> del grupo <strong>{}</strong>".format(request.user.first_name, request.user.username, minutes_obj.code, minutes_obj.id_group.name),
             [responsible_obj]
             )
         message = {'successful': "true", "new_task": [task_as_json(task_obj)], "message": response}
 else:
     # Update task
     task_obj, response = Tasks.objects.update_task(
         name, 
         description, 
         responsible_obj, 
         due, 
         minutes_obj, 
         request.user,task_id,
         accountable_obj,
Ejemplo n.º 4
0
def getListMembers(request, slug_org=False):
    """Only org admin can use this function"""
    saveViewsLog(request,
                 "actarium_apps.organizations.views_ajax.getListMembers")
    if not request.is_ajax():
        raise Http404
    if not (request.method == "GET"):
        raise Http404
    org = request.user.organizationsuser_user.get_org(slug=slug_org)
    if org and org.has_user_role(request.user, "is_admin"):
        search = request.GET.get('search')
        gid = request.GET.get('gid')
        if gid:
            group = org.get_group(id=gid)
        if validateEmail(search):
            try:
                ans = [User.objects.get(email=search)]
            except:
                ans = 1  # email valido, pero no es usuario
        else:
            ans1 = User.objects.filter(username__iregex=r"" + search + "")
            ans2 = User.objects.filter(email__iregex=r"" + search + "")
            ans3 = User.objects.filter(first_name__iregex=r"" + search + "")
            ans4 = User.objects.filter(last_name__iregex=r"" + search + "")
            ans = list(ans1) + list(ans2) + list(ans3) + list(ans4)

        if ans == 1:  # email valido, pero no es usuario
            user_info = {
                "user_id": search,
                "email": search,
                "username": search.split("@")[0].title(),
                "gravatar": showgravatar(search, 30),
                "is_user": False
            }
            users = {"users": False, "new_user": user_info}
        else:
            users_json = []
            uids = []
            for u in ans:
                if u.id not in uids:
                    uids.append(u.id)
                    is_member = False
                    if gid:
                        rel = getRelUserGroup(u, group)
                        if rel:
                            is_member = True
                    users_json.append({
                        "id":
                        u.id,
                        "username":
                        u.username,
                        "full_name":
                        u.get_full_name(),
                        "is_member":
                        is_member,
                        "is_org_member":
                        org.has_user_role(u, "is_member"),
                        "email":
                        u.email,
                        "gravatar":
                        showgravatar(u.email, 30)
                    })
            users = {"users": users_json, "new_user": False}
    else:
        users = {"forbbiden": _("No tienes permiso para agregar usuarios.")}
    return HttpResponse(json.dumps(users), mimetype="application/json")
Ejemplo n.º 5
0
def task_as_json(task_obj):
    title_max_length = 25
    description_max_length = 52
    consulted = []
    informed = []

    accountable = None
    if task_obj.accountable:
        accountable = {
            "img": showgravatar(task_obj.accountable.email, 25),
            "name": task_obj.accountable.first_name,
            "id": task_obj.accountable.id,
        }

    for user in task_obj.consulted:
        consulted.append({
            "img": showgravatar(user.email, 25),
            "name": user.first_name,
            "id": user.id
        })

    for user in task_obj.informed:
        informed.append({
            "img": showgravatar(user.email, 25),
            "name": user.first_name,
            "id": user.id
        })

    new_task = {
        "id":
        task_obj.id,
        "title":
        task_obj.name,
        "short_title":
        task_obj.name[0:title_max_length] +
        "..." if len(task_obj.name) >= title_max_length else task_obj.name,
        "description":
        task_obj.description,
        "short_description":
        task_obj.description[0:description_max_length] +
        "..." if task_obj.description and
        (len(task_obj.description) >= description_max_length) else
        task_obj.description,
        "responsible_img":
        showgravatar(task_obj.responsible.email, 25),
        "responsible":
        task_obj.responsible.first_name,
        "responsible_id":
        task_obj.responsible.id,
        "accountable":
        accountable,
        "consulted":
        consulted,
        "informed":
        informed,
        "creator":
        task_obj.creator.first_name,
        "creator_img":
        showgravatar(task_obj.creator.email, 25),
        "color":
        task_obj.color,
        "status":
        task_obj.status,
        "status_code":
        task_obj.status_code,
        "due":
        task_obj.due.strftime('%Y-%m-%d') if task_obj.due else ""
    }
    # print  new_task['short_description']
    return new_task
Ejemplo n.º 6
0
    try:
        _inv = setRelUserGroup(id_user=user_invited, id_user_invited=user_from, id_group=group, is_member=True, is_active=True)
        if _inv:
            group.organization.set_role(user_invited, is_member=True)
    except Exception, e:
        print "EROROR views.sendInvitationToGroup", e
        return False
    if _inv:
        email = [user_invited.email]
        ctx_email = {
            'full_name': user_from.get_full_name(),
            'username': user_from.username,
            'groupname': group.name,
            'url_base': settings.URL_BASE,
            'group_url': settings.URL_BASE + group.get_absolute_url(),
            'urlgravatar': showgravatar(user_from.email, 50)
        }
        sendEmailHtml(6, ctx_email, email, group)
    return _inv


def newUserWithInvitation(email, user_from, group, first_name=False, last_name=False):
    '''Crear un nuevo usuario.'''
    if validateEmail(email):
        try:
            if not getUserByEmail(email):
                _user = newInvitedUser(email, user_from, first_name=first_name, last_name=last_name)
                if _user:
                    return _user
                else:
                    return False