Exemple #1
0
def calendar_actions(calendar):
    """Render per-calendar actions."""
    actions = [{
        "name": "editcalendar",
        "title": _("Edit %s" % calendar),
        "modal": True,
        "img": "fa fa-edit"
    }, {
        "name": "delcalendar",
        "title": _("Delete %s?" % calendar),
        "img": "fa fa-trash"
    }]
    if calendar.__class__.__name__ == 'UserCalendar':
        actions[0]["url"] = reverse("radicale:user_calendar",
                                    args=[calendar.pk])
        actions[0]["modalcb"] = "radicale.edit_calendar_cb"
        actions[1]["url"] = reverse("radicale:user_calendar",
                                    args=[calendar.id])
    else:
        actions[0]["url"] = reverse("radicale:shared_calendar",
                                    args=[calendar.pk])
        actions[0]["modalcb"] = "radicale.shared_calendar_cb"
        actions[1]["url"] = reverse("radicale:shared_calendar",
                                    args=[calendar.id])
    return render_actions(actions)
Exemple #2
0
def filter_actions(setname, f, position, islast):
    actions = [
        {"name": "editfilter",
         "url": reverse("modoboa.extensions.sievefilters.views.editfilter",
                         args=[setname, f["name"]]),
         "img": "icon-edit",
         "title": _("Edit filter"),
         "modal": True,
         "autowidth": True,
         "modalcb": "filterform_cb"},
        {"name": "removefilter",
         "url": reverse("modoboa.extensions.sievefilters.views.removefilter",
                         args=[setname, f["name"]]),
         "img": "icon-trash",
         "title": _("Remove this filter")}
    ]
    if position != 1:
        actions += [
            {"name": "movefilter_up",
             "url": reverse("modoboa.extensions.sievefilters.views.move_filter_up",
                             args=[setname, f["name"]]),
             "img": "icon-arrow-up",
             "title": _("Move this filter up")}
        ]
    if not islast:
        actions += [
            {"name": "movefilter_down",
             "url": reverse("modoboa.extensions.sievefilters.views.move_filter_down",
                             args=[setname, f["name"]]),
             "img": "icon-arrow-down",
             "title": _("Move this filter down")},
        ]
    return render_actions(actions)
Exemple #3
0
def domain_actions(user, domid):
    from modoboa.admin.models import Domain

    domain = Domain.objects.get(pk=domid)
    actions = [{
        "name":
        "listidentities",
        "url":
        reverse("modoboa.admin.views.identities") +
        "#list/?searchquery=@%s" % domain.name,
        "title":
        _("View the domain's identities"),
        "img":
        "icon-user"
    }]
    if user.has_perm("admin.delete_domain"):
        actions.append({
            "name":
            "deldomain",
            "url":
            reverse("modoboa.admin.views.deldomain") + "?selection=%s" % domid,
            "title":
            _("Delete the domain"),
            "img":
            "icon-trash"
        })
    return render_actions(actions)
Exemple #4
0
def identity_actions(user, ident):
    name = ident.__class__.__name__
    objid = ident.id
    if name == "User":
        actions = events.raiseQueryEvent("ExtraAccountActions", ident)
        actions += [
            {"name" : "delaccount",
             "url" : reverse("modoboa.admin.views.delaccount", args=[objid]),
             "img" : "icon-trash",
             "title" : _("Delete this account")},
            ]
    else:
        if ident.get_recipients_count() >= 2:
            actions = [
                {"name" : "deldlist",
                 "url" : reverse("modoboa.admin.views.deldlist") + "?selection=%s" % objid,
                 "img" : "icon-trash",
                 "title" : _("Delete this distribution list")},
                ]
        elif ident.extmboxes != "":
            actions = [
                {"name" : "delforward",
                 "url" : reverse("modoboa.admin.views.delforward") + "?selection=%s" % objid,
                 "img" : "icon-trash",
                 "title" : _("Delete this forward")},
                ]
        else:
            actions = [
                {"name" : "delalias",
                 "url" : reverse("modoboa.admin.views.delalias") + "?selection=%s" % objid,
                 "img" : "icon-trash",
                 "title" : _("Delete this alias")},
                ]
    return render_actions(actions)
Exemple #5
0
def identity_actions(user, ident):
    name = ident.__class__.__name__
    objid = ident.id
    if name == "User":
        actions = events.raiseQueryEvent("ExtraAccountActions", ident)
        actions += [
            {"name" : "delaccount",
             "url" : reverse("modoboa.admin.views.delaccount") + "?selection=%s" % objid,
             "img" : "icon-trash",
             "title" : _("Delete this account")},
            ]
    else:
        if ident.get_recipients_count() >= 2:
            actions = [
                {"name" : "deldlist",
                 "url" : reverse("modoboa.admin.views.deldlist") + "?selection=%s" % objid,
                 "img" : "icon-trash",
                 "title" : _("Delete this distribution list")},
                ]
        elif ident.extmboxes != "":
            actions = [
                {"name" : "delforward",
                 "url" : reverse("modoboa.admin.views.delforward") + "?selection=%s" % objid,
                 "img" : "icon-trash",
                 "title" : _("Delete this forward")},
                ]
        else:
            actions = [
                {"name" : "delalias",
                 "url" : reverse("modoboa.admin.views.delalias") + "?selection=%s" % objid,
                 "img" : "icon-trash",
                 "title" : _("Delete this alias")},
                ]
    return render_actions(actions)
Exemple #6
0
def identity_actions(user, ident):
    name = ident.__class__.__name__
    objid = ident.id
    if name == "User":
        actions = events.raiseQueryEvent("ExtraAccountActions", ident)
        actions += [
            {
                "name":
                "delaccount",
                "url":
                reverse("modoboa.extensions.admin.views.identity.delaccount",
                        args=[objid]),
                "img":
                "icon-trash",
                "title":
                _("Delete %s?" % ident.username)
            },
        ]
    else:
        actions = [
            {
                "name":
                "delalias",
                "url":
                reverse("modoboa.extensions.admin.views.alias.delalias") +
                "?selection=%s" % objid,
                "img":
                "icon-trash",
                "title":
                _("Delete %s?" % ident.full_address)
            },
        ]
    return render_actions(actions)
Exemple #7
0
def domain_actions(user, domain):
    actions = []
    if domain.__class__.__name__ == 'Domain':
        actions = [{
            "name":
            "listidentities",
            "url":
            reverse("modoboa.extensions.admin.views.identity.identities") +
            "#list/?searchquery=@%s" % domain.name,
            "title":
            _("View the domain's identities"),
            "img":
            "icon-user"
        }]
        if user.has_perm("admin.delete_domain"):
            actions.append({
                "name":
                "deldomain",
                "url":
                reverse("modoboa.extensions.admin.views.domain.deldomain",
                        args=[domain.id]),
                "title":
                _("Delete %s?" % domain.name),
                "img":
                "icon-trash"
            })
    else:
        actions = events.raiseQueryEvent('GetDomainActions', user, domain)

    return render_actions(actions)
Exemple #8
0
def filter_actions(setname, f, position, islast):
    actions = [
        {"name" : "editfilter",
         "url" : reverse("modoboa.extensions.sievefilters.views.editfilter",
                         args=[setname, f["name"]]),
         "img" : "icon-edit",
         "title" : _("Edit filter"),
         "modal" : True,
         "autowidth" : True,
         "modalcb" : "filterform_cb"},
        {"name" : "removefilter",
         "url" : reverse("modoboa.extensions.sievefilters.views.removefilter",
                         args=[setname, f["name"]]),
         "img" : "icon-trash",
         "title" : _("Remove this filter")}
        ]
    if position != 1:
        actions += [
            {"name" : "movefilter_up",
             "url" : reverse("modoboa.extensions.sievefilters.views.move_filter_up",
                             args=[setname, f["name"]]),
             "img" : "icon-arrow-up",
             "title" : _("Move this filter up")}
            ]
    if not islast:
        actions += [
            {"name" : "movefilter_down",
             "url" : reverse("modoboa.extensions.sievefilters.views.move_filter_down",
                             args=[setname, f["name"]]),
             "img" : "icon-arrow-down",
             "title" : _("Move this filter down")},
            ]
    return render_actions(actions)
Exemple #9
0
def domadmin_actions(daid, domid):
    actions = [dict(
            name="removeperm",
            url=reverse("modoboa.admin.views.remove_permission") + "?domid=%s&daid=%s" % (domid, daid),
            img="icon-trash",
            title=_("Remove this permission")
            )]
    return render_actions(actions)
Exemple #10
0
def domadmin_actions(daid, domid):
    actions = [dict(
            name="removeperm",
            url=reverse("modoboa.admin.views.remove_permission") + "?domid=%s&daid=%s" % (domid, daid),
            img="icon-trash",
            title=_("Remove this permission")
            )]
    return render_actions(actions)
Exemple #11
0
def domadmin_actions(daid, domid):
    actions = [{
        "name": "removeperm",
        "url": reverse("modoboa.extensions.admin.views.identity.remove_permission") + "?domid=%s&daid=%s" % (domid, daid),
        "img": "icon-trash",
        "title": _("Remove this permission")
    }]
    return render_actions(actions)
Exemple #12
0
def domadmin_actions(daid, domid):
    actions = [{
        "name": "removeperm",
        "url": "{0}?domid={1}&daid={2}".format(
            reverse("admin:permission_remove"), domid, daid),
        "img": "fa fa-trash",
        "title": _("Remove this permission")
    }]
    return render_actions(actions)
Exemple #13
0
def domadmin_actions(daid, domid):
    actions = [{
        "name":
        "removeperm",
        "url":
        reverse("modoboa.extensions.admin.views.identity.remove_permission") +
        "?domid=%s&daid=%s" % (domid, daid),
        "img":
        "icon-trash",
        "title":
        _("Remove this permission")
    }]
    return render_actions(actions)
Exemple #14
0
def calendar_actions(calendar):
    """
    """
    actions = [{
        "name": "delcalendar",
        "title": _("Delete %s?" % calendar),
        "img": "icon-trash"
    }]
    if calendar.__class__.__name__ == 'UserCalendar':
        actions[0]["url"] = reverse("user_calendar", args=[calendar.id])
    else:
        actions[0]["url"] = reverse("shared_calendar", args=[calendar.id])
    return render_actions(actions)
Exemple #15
0
def domadmin_actions(daid, domid):
    actions = [{
        "name":
        "removeperm",
        "url":
        "{0}?domid={1}&daid={2}".format(reverse("admin:permission_remove"),
                                        domid, daid),
        "img":
        "fa fa-trash",
        "title":
        _("Remove this permission")
    }]
    return render_actions(actions)
Exemple #16
0
def domain_actions(user, domid):
    from modoboa.admin.models import Domain

    domain = Domain.objects.get(pk=domid)
    actions = [
        {"name": "listidentities",
         "url": reverse("modoboa.admin.views.identities") + "#list/?searchquery=@%s" % domain.name,
         "title": _("View the domain's identities"),
         "img": "icon-user"}
    ]
    if user.has_perm("admin.delete_domain"):
        actions.append({
            "name": "deldomain",
            "url": reverse("modoboa.admin.views.deldomain") + "?selection=%s" % domid,
            "title": _("Delete the domain"),
            "img": "icon-trash"
        })
    return render_actions(actions)
Exemple #17
0
def identity_actions(user, ident):
    name = ident.__class__.__name__
    objid = ident.id
    if name == "User":
        actions = events.raiseQueryEvent("ExtraAccountActions", ident)
        actions += [
            {"name": "delaccount",
             "url": reverse("admin:account_delete", args=[objid]),
             "img": "fa fa-trash",
             "title": _("Delete %s?" % ident.username)},
        ]
    else:
        actions = [
            {"name": "delalias",
             "url": reverse("admin:alias_delete") + "?selection=%s" % objid,
             "img": "fa fa-trash",
             "title": _("Delete %s?" % ident.full_address)},
        ]
    return render_actions(actions)
Exemple #18
0
def domain_actions(user, domain):
    actions = []
    if domain.__class__.__name__ == 'Domain':
        actions = [
            {"name": "listidentities",
             "url": reverse("admin:identity_list") + "#list/?searchquery=@%s" % domain.name,
             "title": _("View the domain's identities"),
             "img": "fa fa-user"}
        ]
        if user.has_perm("admin.delete_domain"):
            actions.append({
                "name": "deldomain",
                "url": reverse("admin:domain_delete", args=[domain.id]),
                "title": _("Delete %s?" % domain.name),
                "img": "fa fa-trash"
            })
    else:
        actions = events.raiseQueryEvent('GetDomainActions', user, domain)

    return render_actions(actions)