コード例 #1
0
ファイル: mission_views.py プロジェクト: hforge/crm
 def get_namespace(self, resource, context):
     # Build namespace
     proxy = super(Mission_EditForm, self)
     namespace = proxy.get_namespace(resource, context)
     monolingual_widgets(namespace)
     reset_comment(namespace, is_edit=self.is_edit(context))
     try:
         alert = resource.get_property('crm_m_alert')
     except ValueError:
         # New mission
         alert = context.timestamp
     namespace['icon_alert'] = get_alert_icon(alert, context)
     try:
         status = resource.get_property('crm_m_status')
     except ValueError:
         # New mission
         status = 'opportunity'
     namespace['icon_status'] = StatusIcon(status, css="nofloat")
     return namespace
コード例 #2
0
ファイル: crm_views.py プロジェクト: hforge/crm
 def get_item_value(self, resource, context, item, column, cache={}):
     item_brain, item_resource = item
     if column == 'checkbox':
         parent = item_resource.parent
         if parent is None:
             return None
         if item_resource.name in parent.__fixed_handlers__:
             return None
         id = resource.get_canonical_path().get_pathto(item_brain.abspath)
         id = str(id)
         return id, False
     elif column == 'alert':
         return get_alert_icon(item_brain.crm_m_alert, context)
     elif column == 'crm_m_alert':
         alert = item_brain.crm_m_alert
         if alert:
             return alert.date()
         return None
     elif column == 'status':
         # Status
         return ShortStatusIcon(item_brain.crm_m_status)
     elif column in ('contacts', 'contacts_csv'):
         m_contacts = item_brain.crm_m_contact
         query = [PhraseQuery('name', name) for name in m_contacts]
         if len(query) == 1:
             query = query[0]
         else:
             query = OrQuery(*query)
         crm = get_crm(resource)
         query = AndQuery(get_crm_path_query(crm), query)
         query = AndQuery(PhraseQuery('format', 'contact'), query)
         results = context.root.search(query)
         if column == 'contacts':
             pattern = u'<a href="{link}">{lastname}<br/>{firstname}</a>'
         else:
             pattern = u"{lastname} {firstname}"
         names = []
         for brain in results.get_documents(sort_by='crm_p_lastname'):
             link = context.get_link(brain)
             lastname = brain.crm_p_lastname.upper()
             firstname = brain.crm_p_firstname
             names.append(pattern.format(link=link, lastname=lastname,
                 firstname=firstname))
         if column == 'contacts':
             return MSG(u"<br/>".join(names), format='html')
         return u"\n".join(names)
     elif column == 'company':
         contact_id = item_brain.crm_m_contact[0]
         contact = resource.get_resource('contacts/' + contact_id)
         p_company = contact.get_property('crm_p_company')
         if not p_company:
             return u""
         company = resource.get_resource('companies/' + p_company)
         title = company.get_title()
         href = context.get_link(company)
         return title, href
     elif column == 'assigned':
         user_id = item_brain.crm_m_assigned
         return context.root.get_user_title(user_id)
     return super(CRM_SearchMissions, self).get_item_value(resource,
             context, item, column, cache=cache)