コード例 #1
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def document_sent(context, event):
    id_util = getUtility(IIntIds)
    objs = []

    for intid in event.intids:
        obj = id_util.getObject(intid)
        title = obj.Title().decode('utf-8')
        receiver = event.receiver
        message = event.message
        if isinstance(receiver, list):
            receiver = ', '.join(receiver)
        objs.append({'intid': intid, 'title': title})

    title = _(u'label_document_sent',
              default=u'Document sent by Mail: ${subject}',
              mapping={
                  'subject': event.subject.decode('utf-8'),
              })

    comment = translate(_(
        u'label_document_sent_comment',
        default=u'Attachments: ${documents} | Receivers: ${receiver} |'
        ' Message: ${message}',
        mapping={
            'documents': documents_list_helper(context, objs),
            'receiver': receiver.decode('utf-8'),
            'message': message.decode('utf-8'),
        }),
                        context=context.REQUEST)
    journal_entry_factory(context,
                          DOCUMENT_SENT,
                          title,
                          visible=True,
                          comment=comment)
コード例 #2
0
 def columns(self):
     return (
         {
             'column': 'time',
             'column_title': _(u'label_time', default=u'Time'),
             'transform': helper.readable_date_time
         },
         {
             'column': 'title',
             'column_title': _(u'label_title', 'Title'),
             'transform': title_helper
         },
         {
             'column': 'actor',
             'column_title': _(u'label_actor', default=u'Changed by'),
             'transform': linked_ogds_author
         },
         {
             'column': 'comments',
             'column_title': _(u'label_comments', default=u'Comments'),
             'transform': tooltip_helper,
             'sortable': False
         },
         {
             'column': 'references',
             'column_title': _(u'label_references', default=u'References'),
             'transform': self.journal_references,
             'sortable': False
         },
     )
コード例 #3
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def file_copy_downloaded(context, event):

    title_unversioned = _(u'label_file_copy_downloaded',
                          default=u'Download copy')

    if IDocumentSchema.providedBy(context):
        version_id = getattr(event, 'version_id')

        if version_id is not None:
            version_string = _(u'label_file_copy_downloaded_version',
                               default=u'version ${version_id}',
                               mapping={'version_id': version_id})
        else:
            version_string = _(
                u'label_file_copy_downloaded_actual_version',
                default=u'current version (${version_id})',
                mapping={'version_id': getattr(context, 'version_id', 0)})

        title = _(u'label_file_copy_downloaded_with_version',
                  default=u'${title} ${version_string}',
                  mapping={'title': title_unversioned,
                           'version_string': version_string})
    else:
        title = title_unversioned

    journal_entry_factory(context, FILE_COPY_DOWNLOADED, title)
コード例 #4
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def document_sent(context, event):
    id_util = getUtility(IIntIds)
    objs = []

    for intid in event.intids:
        obj = id_util.getObject(intid)
        title = obj.Title().decode("utf-8")
        receiver = event.receiver
        message = event.message
        if isinstance(receiver, list):
            receiver = ", ".join(receiver)
        objs.append({"intid": intid, "title": title})

    title = _(
        u"label_document_sent",
        default=u"Document sent by Mail: ${subject}",
        mapping={"subject": event.subject.decode("utf-8")},
    )

    comment = translate(
        _(
            u"label_document_sent_comment",
            default=u"Attachments: ${documents} | Receivers: ${receiver} |" " Message: ${message}",
            mapping={
                "documents": documents_list_helper(context, objs),
                "receiver": receiver.decode("utf-8"),
                "message": message.decode("utf-8"),
            },
        ),
        context=context.REQUEST,
    )
    journal_entry_factory(context, DOCUMENT_SENT, title, visible=True, comment=comment)
コード例 #5
0
def file_copy_downloaded(context, event):

    title_unversioned = _(u'label_file_copy_downloaded',
                          default=u'Download copy')

    if IDocumentSchema.providedBy(context):
        version_id = getattr(event, 'version_id')

        if version_id is not None:
            version_string = _(u'label_file_copy_downloaded_version',
                               default=u'version ${version_id}',
                               mapping={'version_id': version_id})
        else:
            version_string = _(u'label_file_copy_downloaded_actual_version',
                               default=u'current version (${version_id})',
                               mapping={'version_id': context.version_id})

        title = _(u'label_file_copy_downloaded_with_version',
                  default=u'${title} ${version_string}',
                  mapping={
                      'title': title_unversioned,
                      'version_string': version_string
                  })
    else:
        title = title_unversioned

    journal_entry_factory(context, FILE_COPY_DOWNLOADED, title)
コード例 #6
0
ファイル: tab.py プロジェクト: hellfish2/opengever.core
class JournalTab(grok.View, OpengeverTab, ListingView):
    """Journal tab implementing IJorunalConfig.
    """

    implements(IJournalSourceConfig)

    grok.name('tabbedview_view-journal')
    grok.require('zope2.View')
    grok.context(IJournalizable)

    # do not select
    select_all_template = lambda *a, **kw: ''

    sort_on = 'time'
    sort_reverse = True

    # do not show the selects, because no action is enabled
    show_selects = False
    enabled_actions = []
    major_actions = []
    selection = ViewPageTemplateFile("no_selection_amount.pt")

    columns = (
        {
            'column': 'title',
            'column_title': _(u'label_title', 'Title'),
            'transform': title_helper
        },
        {
            'column': 'actor',
            'column_title': _(u'label_actor', default=u'Actor'),
            'transform': linked_ogds_author
        },
        {
            'column': 'time',
            'column_title': _(u'label_time', default=u'Time'),
            'transform': helper.readable_date_time
        },
        {
            'column': 'comments',
            'column_title': _(u'label_comments', default=u'Comments'),
            'transform': tooltip_helper
        },
    )

    def get_base_query(self):
        return None

    __call__ = ListingView.__call__
    update = ListingView.update
    render = __call__
コード例 #7
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def document_added(context, event):
    title = _(u"label_document_added", default=u"Document added: ${title}", mapping={"title": context.title_or_id()})
    # journal_entry for document:
    journal_entry_factory(context, DOCUMENT_ADDED_ACTION, title)
    # journal entry for parent (usually dossier)
    journal_entry_factory(context.aq_inner.aq_parent, DOCUMENT_ADDED_ACTION, title)
    return
コード例 #8
0
ファイル: form.py プロジェクト: braegelno5/opengever.core
class ManualJournalEntryAddForm(AddForm):
    """Provide a z3c.form to enter a manual journal entry."""

    label = _(u'label_add_journal_entry', default=u'Add journal entry')
    fields = Fields(IManualJournalEntry)

    fields['contacts'].widgetFactory = ParameterizedWidget(KeywordWidget,
                                                           async=True)

    def createAndAdd(self, data):
        contacts, users = self.split_contacts_and_users(data.get('contacts'))
        entry = ManualJournalEntry(self.context, data.get('category'),
                                   data.get('comment'), contacts, users,
                                   data.get('related_documents'))
        entry.save()
        return entry

    def split_contacts_and_users(self, items):
        """Spliting up the contact list, in to a list of contact objects
        and a list of adapted users.
        """
        contacts = []
        users = []
        for item in items:
            if item.is_adapted_user:
                users.append(item)
            else:
                contacts.append(item)

        return contacts, users

    def nextURL(self):
        return '{}#journal'.format(self.context.absolute_url())
コード例 #9
0
    def add_journal_entry(self, journal_context, fixed_context,
                          old_period, new_period):
        """Add a journal entry to `journal_context` indicating that
        `fixed_context` has been fixed.

        The journal entry is not translated, we don't want to add translations
        for this fix to opengever.core.

        We use message objects to make it possible to add translations should
        it be required, also this helps to avoid an UnicodeDecodeError.

        """
        title = _(u'label_retention_period_fixed',
                  default=u'Aufbewahrungsdauer korrigiert "${name}"',
                  mapping={'name':
                           fixed_context.Title().decode('utf-8')})
        # the comment is handled different from the title, it does not get
        # translated when displaying :-o.
        comment = 'Alter Wert: "{} Jahre", neuer Wert: "{} Jahre"'\
                  .format(old_period, new_period)

        journal_entry_factory(journal_context,
                              ACTION_RETENTION_PERIOD_FIXED,
                              title=title,
                              comment=comment)
コード例 #10
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def dossier_added(context, event):
    title = _(
        u'label_dossier_added',
        default=u'Dossier added: ${title}',
        mapping={'title': context.title_or_id(), })
    journal_entry_factory(context, DOSSIER_ADDED_ACTION, title)
    return
コード例 #11
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def mail_added(context, event):
    title = _(u'label_mail_added',
              default=u'Mail added: ${title}',
              mapping={'title': context.title_or_id()})

    journal_entry_factory(context.aq_inner.aq_parent, MAIL_ADDED_EVENT, title)
    return
コード例 #12
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_checked_in(context, event):
    user_comment = event.comment
    title = _(u'label_document_checkin',
              default=u'Document checked in', )
    journal_entry_factory(context, DOCUMENT_CHECKED_IN, title,
                          comment=user_comment)
    return
コード例 #13
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def participation_removed(context, event):
    title = _(
        u"label_participant_removed",
        default=u"Participant removed: ${contact}",
        mapping={"contact": readable_ogds_author(event.participant, event.participant.contact)},
    )

    journal_entry_factory(context, PARTICIPANT_REMOVED, title)
コード例 #14
0
def attachments_deleted(context, event):
    attachment_names = event.attachments
    title = _(u'label_attachments_deleted',
              default=u'Attachments deleted: ${filenames}',
              mapping={'filenames': ', '.join(attachment_names)})

    journal_entry_factory(context, ATTACHMENTS_DELETED_ACTION, title)
    return
コード例 #15
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_zipped(context, event):
    title = _(u'label_document_zipped',
              default=u'Document included in a zip export: ${title}',
              mapping={'title': context.title_or_id()})

    journal_entry_factory(context, DOCUMENT_EXPORTED, title)

    return
コード例 #16
0
def dossier_local_roles_acquisition_activated(context, event):

    journal_entry_factory(context,
                          LOCAL_ROLES_AQUISITION_ACTIVATED,
                          title=_(u'label_local_roles_acquisition_activated',
                                  default=u'Local roles aquistion activated.'))

    return
コード例 #17
0
def document_zipped(context, event):
    title = _(u'label_document_zipped',
              default=u'Document included in a zip export: ${title}',
              mapping={'title': context.title_or_id()})

    journal_entry_factory(context, DOCUMENT_EXPORTED, title)

    return
コード例 #18
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def repository_prefix_unlock(context, event):
    title = _(
        u"label_prefix_unlocked",
        default=u"Unlocked prefix ${prefix} in ${repository}.",
        mapping={"prefix": event.prefix, "repository": context.title_or_id()},
    )

    journal_entry_factory(get_repository_root(context), REPOSITORY_PREFIX_UNLOCKED, title=title)
コード例 #19
0
def dossier_added(context, event):
    title = _(u'label_dossier_added',
              default=u'Dossier added: ${title}',
              mapping={
                  'title': context.title_or_id(),
              })
    journal_entry_factory(context, DOSSIER_ADDED_ACTION, title)
    return
コード例 #20
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def dossier_local_roles_acquisition_blocked(context, event):

    journal_entry_factory(
        context,
        LOCAL_ROLES_AQUISITION_BLOCKED,
        title=_(u'label_local_roles_acquisition_blocked',
                default=u'Local roles aquistion blocked.'))

    return
コード例 #21
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def object_will_be_moved(context, event):
    if not IObjectWillBeAddedEvent.providedBy(event):
        title = _(u'label_object_cut',
                  default=u'Object cut: ${title}',
                  mapping={'title': context.title_or_id()})

        journal_entry_factory(context.aq_inner.aq_parent,
                              OBJECT_WILL_BE_MOVED_EVENT, title)
    return
コード例 #22
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def attachments_deleted(context, event):
    attachment_names = event.attachments
    title = _(
        u'label_attachments_deleted',
        default=u'Attachments deleted: ${filenames}',
        mapping={'filenames': ', '.join(attachment_names)})

    journal_entry_factory(context, ATTACHMENTS_DELETED_ACTION, title)
    return
コード例 #23
0
def document_untrashed(context, event):
    title = _(u'label_restore',
              default=u'Object restored: ${title}',
              mapping={
                  'title': context.title_or_id(),
              })
    journal_entry_factory(context, OBJECT_RESTORE, title)
    journal_entry_factory(context.aq_inner.aq_parent, OBJECT_RESTORE, title)
    return
コード例 #24
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def dossier_local_roles_acquisition_activated(context, event):

    journal_entry_factory(
        context,
        LOCAL_ROLES_AQUISITION_ACTIVATED,
        title=_(u"label_local_roles_acquisition_activated", default=u"Local roles aquistion activated."),
    )

    return
コード例 #25
0
def document_sent(context, event):
    def make_document_event_list(context, items):
        urlstring = ''
        url_template = u'<span><a href="{}">{}{}</a></span>'
        lastindex = len(items) - 1
        for i, item in enumerate(items):
            comma = '' if lastindex == i else ', '
            urlstring += url_template.format(item['url'], item['title'], comma)
        return urlstring

    id_util = getUtility(IIntIds)
    objs = []

    for intid in event.intids:
        obj = id_util.getObject(intid)
        url = obj.absolute_url()
        title = obj.Title().decode('utf-8')
        receiver = event.receiver
        message = event.message
        if isinstance(receiver, list):
            receiver = ', '.join(receiver)
        objs.append({'url': url, 'title': title})

    title = _(u'label_document_sent',
              default=u'Document sent by Mail: ${subject}',
              mapping={
                  'subject': event.subject.decode('utf-8'),
              })

    comment = translate(_(
        u'label_document_sent_comment',
        default=u'Attachments: ${documents} | Receivers: ${receiver} |'
        ' Message: ${message}',
        mapping={
            'documents': make_document_event_list(context, objs),
            'receiver': receiver.decode('utf-8'),
            'message': message.decode('utf-8'),
        }),
                        context=context.REQUEST)
    journal_entry_factory(context,
                          DOCUMENT_SENT,
                          title,
                          visible=True,
                          comment=comment)
コード例 #26
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def dossier_local_roles_modified(context, event):

    journal_entry_factory(
        context,
        LOCAL_ROLES_MODIFIED,
        title=_(u"label_local_roles_modified", default=u"Local roles modified."),
        comment=role_mapping_to_str(context, event.new_local_roles),
    )

    return
コード例 #27
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_untrashed(context, event):
    title = _(
        u'label_restore',
        default=u'Object restored: ${title}',
        mapping={
            'title': context.title_or_id(),
            })
    journal_entry_factory(context, OBJECT_RESTORE, title)
    journal_entry_factory(context.aq_inner.aq_parent, OBJECT_RESTORE, title)
    return
コード例 #28
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def repositoryfolder_local_roles_acquisition_blocked(context, event):
    title = _(
        u"label_local_roles_acquisition_blocked_at",
        default=u"Local roles aquistion blocked at ${repository}.",
        mapping={"repository": context.title_or_id()},
    )

    journal_entry_factory(get_repository_root(context), LOCAL_ROLES_AQUISITION_BLOCKED, title=title)

    return
コード例 #29
0
def participation_removed(context, event):
    title = _(u'label_participant_removed',
              default=u'Participant removed: ${contact}',
              mapping={
                  'contact':
                  readable_ogds_author(event.participant,
                                       event.participant.contact),
              })

    journal_entry_factory(context, PARTICIPANT_REMOVED, title)
コード例 #30
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def dossier_attached_to_email(context, event):
    dossier_journal = _(u'label_document_in_dossier_attached',
                        default=u'Document in dossier attached to email '
                                u'via OfficeConnector')

    journal_entry_factory(
        event.object, DOCUMENT_IN_DOSSIER_ATTACHED, dossier_journal,
        visible=True, documents=event.documents)

    return
コード例 #31
0
def dossier_local_roles_modified(context, event):

    journal_entry_factory(context,
                          LOCAL_ROLES_MODIFIED,
                          title=_(u'label_local_roles_modified',
                                  default=u'Local roles modified.'),
                          comment=role_mapping_to_str(context,
                                                      event.new_local_roles))

    return
コード例 #32
0
def task_added(context, event):
    title = _(u'label_task_added',
              default=u'Task added: ${title}',
              mapping={
                  'title': context.title_or_id(),
              })

    # journal entry for parent (usually dossier)
    journal_entry_factory(context.aq_inner.aq_parent, TASK_ADDED_EVENT, title)
    return
コード例 #33
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def repository_prefix_unlock(context, event):
    title = _(u'label_prefix_unlocked',
              default=u'Unlocked prefix ${prefix} in ${repository}.',
              mapping={'prefix': event.prefix,
                       'repository': context.title_or_id()})

    journal_entry_factory(
        get_repository_root(context),
        REPOSITORY_PREFIX_UNLOCKED,
        title=title)
コード例 #34
0
def document_restored(context, event):
    if event.action == context.restore_transition:
        title = _(u'label_document_restored',
                  default=u'Document ${title} restored.',
                  mapping={'title': context.title_or_id()})

        parent = aq_parent(aq_inner(context))
        journal_entry_factory(context, OBJECT_RESTORED, title)
        journal_entry_factory(parent, OBJECT_RESTORED, title)

    return
コード例 #35
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_added(context, event):
    title = _(
        u'label_document_added',
        default=u'Document added: ${title}',
        mapping={'title': context.title, })
    # journal_entry for document:
    journal_entry_factory(context, DOCUMENT_ADDED_ACTION, title)
    # journal entry for parent (usually dossier)
    journal_entry_factory(
        context.aq_inner.aq_parent, DOCUMENT_ADDED_ACTION, title)
    return
コード例 #36
0
def document_trashed(context, event):
    title = _(u'label_to_trash',
              default=u'Object moved to trash: ${title}',
              mapping={
                  'title': context.title_or_id(),
              })

    journal_entry_factory(context, OBJECT_MOVE_TO_TRASH, title)
    journal_entry_factory(context.aq_inner.aq_parent, OBJECT_MOVE_TO_TRASH,
                          title)
    return
コード例 #37
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def task_added(context, event):
    title = _(
        u'label_task_added',
        default=u'Task added: ${title}',
        mapping={
            'title': context.title_or_id(),
            })

    # journal entry for parent (usually dossier)
    journal_entry_factory(context.aq_inner.aq_parent, TASK_ADDED_EVENT, title)
    return
コード例 #38
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_restored(context, event):
    if event.action == context.restore_transition:
        title = _(u'label_document_restored',
                  default=u'Document ${title} restored.',
                  mapping={'title': context.title_or_id()})

        parent = aq_parent(aq_inner(context))
        journal_entry_factory(context, OBJECT_RESTORED, title)
        journal_entry_factory(parent, OBJECT_RESTORED, title)

    return
コード例 #39
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def participation_removed(context, event):
    title = _(
        u'label_participant_removed',
        default=u'Participant removed: ${contact}',
        mapping={
            'contact': readable_ogds_author(
                event.participant,
                event.participant.contact),
            })

    journal_entry_factory(context, PARTICIPANT_REMOVED, title)
コード例 #40
0
def repository_prefix_unlock(context, event):
    title = _(u'label_prefix_unlocked',
              default=u'Unlocked prefix ${prefix} in ${repository}.',
              mapping={
                  'prefix': event.prefix,
                  'repository': context.title_or_id()
              })

    journal_entry_factory(get_repository_root(context),
                          REPOSITORY_PREFIX_UNLOCKED,
                          title=title)
コード例 #41
0
def document_checked_in(context, event):
    user_comment = event.comment
    title = _(
        u'label_document_checkin',
        default=u'Document checked in',
    )
    journal_entry_factory(context,
                          DOCUMENT_CHECKED_IN,
                          title,
                          comment=user_comment)
    return
コード例 #42
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def participation_created(context, event):
    title = _(
        u"label_participant_added",
        default=u"Participant added: ${contact} with " "roles ${roles}",
        mapping={
            "contact": readable_ogds_author(event.participant, event.participant.contact),
            "roles": role_list_helper(event.participant, event.participant.roles),
        },
    )

    journal_entry_factory(context, PARTICIPANT_ADDED, title)
コード例 #43
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def object_moved(context, event):
    # Since IObjectAddedEvent subclasses IObjectMovedEvent this event
    # handler is also called for IObjectAddedEvent but we should not
    # do anything in this case.
    if IObjectAddedEvent.providedBy(event):
        return

    title = _(u"label_object_moved", default=u"Object moved: ${title}", mapping={"title": context.title_or_id()})

    journal_entry_factory(context.aq_inner.aq_parent, OBJECT_MOVED_EVENT, title)
    return
コード例 #44
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_trashed(context, event):
    title = _(
        u'label_to_trash',
        default=u'Object moved to trash: ${title}',
        mapping={
            'title': context.title_or_id(),
            })

    journal_entry_factory(context, OBJECT_MOVE_TO_TRASH, title)
    journal_entry_factory(
        context.aq_inner.aq_parent, OBJECT_MOVE_TO_TRASH, title)
    return
コード例 #45
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def repositoryfolder_local_roles_acquisition_activated(context, event):

    title = _(u'label_local_roles_acquisition_activated_at',
              default=u'Local roles aquistion activated at ${repository}.',
              mapping={'repository': context.title_or_id(), })

    journal_entry_factory(
        get_repository_root(context),
        LOCALROLES_AQUISITION_ACTIVATED,
        title=title)

    return
コード例 #46
0
def dossier_attached_to_email(context, event):
    dossier_journal = _(u'label_document_in_dossier_attached',
                        default=u'Document in dossier attached to email '
                        u'via OfficeConnector')

    journal_entry_factory(event.object,
                          DOCUMENT_IN_DOSSIER_ATTACHED,
                          dossier_journal,
                          visible=True,
                          documents=event.documents)

    return
コード例 #47
0
def document_added(context, event):
    title = _(u'label_document_added',
              default=u'Document added: ${title}',
              mapping={
                  'title': context.title,
              })
    # journal_entry for document:
    journal_entry_factory(context, DOCUMENT_ADDED_ACTION, title)
    # journal entry for parent (usually dossier)
    journal_entry_factory(context.aq_inner.aq_parent, DOCUMENT_ADDED_ACTION,
                          title)
    return
コード例 #48
0
def repositoryfolder_local_roles_acquisition_blocked(context, event):
    title = _(u'label_local_roles_acquisition_blocked_at',
              default=u'Local roles aquistion blocked at ${repository}.',
              mapping={
                  'repository': context.title_or_id(),
              })

    journal_entry_factory(get_repository_root(context),
                          LOCAL_ROLES_AQUISITION_BLOCKED,
                          title=title)

    return
コード例 #49
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def repositoryfolder_local_roles_modified(context, event):

    title = _(u'label_local_roles_modified_at',
              default=u'Local roles modified at ${repository}.',
              mapping={'repository': context.title_or_id(), })

    journal_entry_factory(
        get_repository_root(context),
        LOCAL_ROLES_MODIFIED,
        title=title,
        comment=role_mapping_to_str(context, event.new_local_roles))

    return
コード例 #50
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_file_reverted(context, event):
    try:
        create = event.create_version
    except AttributeError:
        return
    else:
        if not create:
            return

    title = _(u'label_document_file_reverted',
              default=u'Reverte document file to version ${version_id}',
              mapping=dict(version_id=event.version_id))
    journal_entry_factory(context, DOCUMENT_FILE_REVERTED, title)
コード例 #51
0
ファイル: handlers.py プロジェクト: 4teamwork/opengever.core
def document_attached_to_email(context, event):
    """Journal OfficeConnector email attach events from the plone.rest
    OfficeConnector action payload service in the site root context.

    The document in question is passed into the ObjectEvent.
    """
    document = event.object

    doc_journal = _(u'label_document_attached',
                    default=u'Document attached to email via OfficeConnector')
    journal_entry_factory(document, DOCUMENT_ATTACHED, doc_journal)

    return
コード例 #52
0
class IManualJournalEntry(model.Schema):
    """Provide a z3c.form.Schema to enter a manual journal entry."""

    category = schema.Choice(
        title=_(u'label_category', default=u'Category'),
        vocabulary='opengever.journal.manual_entry_categories',
        required=True,
    )

    comment = schema.Text(
        title=_(u'label_comment', default=u'Comment'),
        required=False,
    )

    contacts = schema.List(
        title=_(u'label_contacts', default=u'Contacts'),
        value_type=schema.Choice(
            source=ContactsSourceBinder()),
        required=False,
    )

    related_documents = RelationList(
        title=_(u'label_related_documents', default=u'Related Documents'),
        default=[],
        missing_value=[],
        value_type=RelationChoice(
            title=u"Related",
            source=DossierPathSourceBinder(
                portal_type=("opengever.document.document", "ftw.mail.mail"),
                navigation_tree_query={
                    'object_provides':
                    ['opengever.dossier.behaviors.dossier.IDossierMarker',
                     'opengever.document.document.IDocumentSchema',
                     'opengever.task.task.ITask',
                     'ftw.mail.mail.IMail']
                }),
            ),
        required=False,
    )
コード例 #53
0
def document_attached_to_email(context, event):
    """Journal OfficeConnector email attach events from the plone.rest
    OfficeConnector action payload service in the site root context.

    The document in question is passed into the ObjectEvent.
    """
    document = event.object

    doc_journal = _(u'label_document_attached',
                    default=u'Document attached to email via OfficeConnector')
    journal_entry_factory(document, DOCUMENT_ATTACHED, doc_journal)

    return
コード例 #54
0
def document_file_reverted(context, event):
    try:
        create = event.create_version
    except AttributeError:
        return
    else:
        if not create:
            return

    title = _(u'label_document_file_reverted',
              default=u'Reverte document file to version ${version_id}',
              mapping=dict(version_id=event.version_id))
    journal_entry_factory(context, DOCUMENT_FILE_REVERTED, title)
コード例 #55
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def task_modified(context, event):
    title = _(u"label_task_modified", default=u"Task modified: ${title}", mapping={"title": context.title_or_id()})
    # XXX dirty
    try:
        # if we delete the working copy,
        # we get a aq_based object and don't wanna
        # make a journal entry
        context.portal_types
    except AttributeError:
        return

    journal_entry_factory(context.aq_inner.aq_parent, TASK_MODIIFED_ACTION, title)
    return
コード例 #56
0
def create_cropped_title_journal_entry(obj, type_, in_desc=False):
    # German translations as a default. Hack, because we don't want to
    # maintain translations in opengever.maintenance
    if in_desc:
        title = _(u'label_title_cropped_saved_in_desc',
                  default=u'Titel gek\xfcrzt: ${obj_id}; Urspr\xfcnglicher '
                          u'Titel wurde in Feld "Beschreibung" gespeichert.',
                  mapping={'obj_id': obj.id})
    else:
        title = _(u'label_title_cropped',
                  default=u'Titel gek\xfcrzt: ${obj_id}',
                  mapping={'obj_id': obj.id})

    if type_ == 'Task':
        journal_target = obj.get_containing_dossier()
    elif type_ == 'Dossier':
        journal_target = obj
    else:
        raise NotImplementedError

    journal_entry_factory(
        journal_target, 'Title cropped', title, actor='SYSTEM')
コード例 #57
0
def participation_created(context, event):
    author = readable_ogds_author(event.participant, event.participant.contact)
    roles = role_list_helper(event.participant, event.participant.roles)

    title = _(u'label_participant_added',
              default=u'Participant added: ${contact} with '
              'roles ${roles}',
              mapping={
                  'contact': author,
                  'roles': roles
              })

    journal_entry_factory(context, PARTICIPANT_ADDED, title)
コード例 #58
0
ファイル: handlers.py プロジェクト: hellfish2/opengever.core
def object_moved(context, event):
    # Since IObjectAddedEvent subclasses IObjectMovedEvent this event
    # handler is also called for IObjectAddedEvent but we should not
    # do anything in this case.
    if IObjectAddedEvent.providedBy(event):
        return

    title = _(u'label_object_moved',
              default=u'Object moved: ${title}',
              mapping={'title': context.title_or_id()})

    journal_entry_factory(context.aq_inner.aq_parent, OBJECT_MOVED_EVENT,
                          title)
    return
コード例 #59
0
def repositoryfolder_local_roles_modified(context, event):

    title = _(u'label_local_roles_modified_at',
              default=u'Local roles modified at ${repository}.',
              mapping={
                  'repository': context.title_or_id(),
              })

    journal_entry_factory(get_repository_root(context),
                          LOCAL_ROLES_MODIFIED,
                          title=title,
                          comment=role_mapping_to_str(context,
                                                      event.new_local_roles))

    return
コード例 #60
0
def object_will_be_moved(context, event):
    if IObjectWillBeAddedEvent.providedBy(event):
        return

    # Skip automatically renamed objects during copy & paste process.
    if ICopyPasteRequestLayer.providedBy(getRequest()):
        return

    title = _(u'label_object_cut',
              default=u'Object cut: ${title}',
              mapping={'title': context.title_or_id()})

    journal_entry_factory(context.aq_inner.aq_parent,
                          OBJECT_WILL_BE_MOVED_EVENT, title)
    return