Exemplo n.º 1
0
class Problems(dd.Table):
    "The base table for :class:`Problem` objects."
    model = 'plausibility.Problem'
    column_names = "user owner message #fixable checker *"
    auto_fit_column_widths = True
    editable = False
    cell_edit = False
    parameters = dict(
        user=models.ForeignKey(
            'users.User',
            blank=True,
            null=True,
            verbose_name=_("Responsible"),
            help_text=_("""Only problems for this responsible.""")),
        checker=Checkers.field(blank=True,
                               help_text=_("Only problems by this checker.")),
    )
    params_layout = "user checker"

    # simple_parameters = ('user', 'checker')
    detail_layout = dd.DetailLayout("""
    user owner checker id
    message""",
                                    window_size=(70, 'auto'))

    @classmethod
    def get_simple_parameters(cls):
        s = super(Problems, cls).get_simple_parameters()
        s.add('user')
        s.add('checker')
        return s
Exemplo n.º 2
0
class Deployments(dd.Table):
    model = 'deploy.Deployment'
    parameters = mixins.ObservedDateRange(show_closed=dd.YesNo.field(
        blank=True,
        default=dd.YesNo.as_callable('no'),
        help_text=_("Show deployments on closed milestones.")))

    params_layout = "start_date end_date show_closed"
    stay_in_grid = True
    detail_layout = dd.DetailLayout("""
    milestone
    wish_type
    ticket
    remark
    """,
                                    window_size=(50, 15))

    @classmethod
    def unused_get_request_queryset(self, ar):
        qs = super(Deployments, self).get_request_queryset(ar)
        pv = ar.param_values
        cls = dd.plugins.tickets.milestone_model.workflow_state_field.choicelist
        closed = cls.filter(invoiceable=True)
        if pv.show_closed == dd.YesNo.no:
            qs = qs.filter(milestone__state__in=closed)
            # qs = qs.filter(milestone__closed=False)
        elif pv.show_closed == dd.YesNo.yes:
            qs = qs.exclude(milestone__state__in=closed)
            # qs = qs.filter(milestone__closed=True)
        return qs
Exemplo n.º 3
0
class Members(dd.Table):
    required_roles = dd.login_required(ContactsUser)
    model = 'lists.Member'
    detail_layout = dd.DetailLayout("""
    list
    partner
    remark
    """, window_size=(60, 'auto'))
Exemplo n.º 4
0
Arquivo: ui.py Projeto: TonisPiip/book
class Companies(dd.Table):
    model = 'Company'
    column_names = 'name address_column *'
    detail_layout = dd.DetailLayout("""
    id name
    addr1
    street_prefix street street_no street_box
    addr2""",
                                    window_size=(50, 'auto'))
Exemplo n.º 5
0
class SalesRules(dd.Table):
    model = 'invoicing.SalesRule'
    required_roles = dd.login_required(LedgerStaff)
    detail_layout = dd.DetailLayout("""
    partner
    invoice_recipient
    paper_type
    """,
                                    window_size=(40, 'auto'))
Exemplo n.º 6
0
class Links(dd.Table):
    model = 'humanlinks.Link'
    required_roles = dd.required(ContactsStaff)
    stay_in_grid = True
    detail_layout = dd.DetailLayout("""
    parent
    type
    child
    """,
                                    window_size=(40, 'auto'))
Exemplo n.º 7
0
class Persons(dd.Table):
    model = Person
    detail_layout = dd.DetailLayout("""
    name
    country
    city
    """,
                                    window_size=(50, 'auto'))

    insert_layout = """
Exemplo n.º 8
0
class Interests(dd.Table):
    required_roles = dd.login_required(TopicsUser)
    model = 'topics.Interest'
    column_names = "partner topic *"
    detail_layout = dd.DetailLayout("""
    partner
    topic owner
    remark
    """,
                                    window_size=(60, 15))
Exemplo n.º 9
0
Arquivo: ui.py Projeto: einarfelix/xl
class Links(dd.Table):
    model = 'tickets.Link'
    required_roles = dd.login_required(TicketsStaff)
    stay_in_grid = True
    detail_layout = dd.DetailLayout("""
    parent
    type
    child
    """,
                                    window_size=(40, 'auto'))
Exemplo n.º 10
0
class AnswerRemarks(dd.Table):
    required_roles = dd.required(PollsUser)
    model = 'polls.AnswerRemark'
    detail_layout = dd.DetailLayout("""
    remark
    response question
    """,
                                    window_size=(60, 10))
    hidden_elements = dd.fields_list(AnswerRemark, 'response question')
    stay_in_grid = True
Exemplo n.º 11
0
class Offers(dd.Table):
    model = 'skills.Competence'
    required_roles = dd.login_required(dd.SiteStaff)
    # required_roles = dd.login_required(SocialStaff)
    column_names = 'id user faculty description affinity *'
    order_by = ["id"]

    detail_layout = dd.DetailLayout("""
    user end_user
    faculty affinity
    description
    """, window_size=(60, 15))
Exemplo n.º 12
0
class Demands(dd.Table):
    model = 'skills.Demand'
    required_roles = dd.login_required(dd.SiteStaff)
    # required_roles = dd.login_required(SocialStaff)
    column_names = 'id demander skill importance *'
    order_by = ["id"]
    stay_in_grid = True

    detail_layout = dd.DetailLayout("""
    demander
    skill 
    importance id
    """, window_size=(40, 'auto'))
Exemplo n.º 13
0
class Declarations(dd.Table):
    model = Declaration
    column_names = 'year period workflow_buttons * state id'
    insert_layout = dd.InsertLayout("""
    entry_date
    year
    period
    """, window_size=(40, 'auto'))
    detail_layout = dd.DetailLayout("""
    entry_date year period user workflow_buttons
    fields
    VouchersByDeclaration
    """, fields=DeclarationFields.fields_layout)
Exemplo n.º 14
0
class Memberships(dd.Table):
    model = 'groups.Membership'
    insert_layout = dd.InsertLayout("""
    user
    group
    remark
    """, window_size=(60, 'auto'))

    detail_layout = dd.DetailLayout("""
    user
    group
    remark
    """, window_size=(60, 'auto'))
Exemplo n.º 15
0
class MyVotes(My, Votes):
    """Show all my votes."""
    label = _("My votes")
    column_names = "votable_overview workflow_buttons *"
    # hide_top_toolbar = True

    detail_layout = dd.DetailLayout("""
    user #project
    workflow_buttons 
    mail_mode
    priority nickname
    """,
                                    window_size=(40, 'auto'),
                                    hidden_elements='user')
Exemplo n.º 16
0
Arquivo: ui.py Projeto: gary-ops/lino
class CommentsByX(Comments):
    required_roles = dd.login_required(CommentsReader)
    order_by = ["-created"]
    # order_by = ["-modified"]
    display_mode = "summary"
    card_layout = dd.DetailLayout("""
    card_summary
    CommentsByComment
    """)

    @classmethod
    def get_card_title(self, ar, obj):
        """Overrides the default behaviour
        """
        return ar.actor.get_comment_header(obj, ar)
Exemplo n.º 17
0
class LanguageKnowledgesByPerson(LanguageKnowledges):
    """Shows the languages known by this person."""
    master_key = 'person'
    column_names = "language native spoken written cef_level"
    required_roles = dd.required(CareerUser)
    auto_fit_column_widths = True
    slave_grid_format = "summary"
    detail_layout = dd.DetailLayout("""
    language
    native
    cef_level
    spoken_passively spoken written
    """,
                                    window_size=(50, 'auto'))

    @classmethod
    def do_setup(self):
        super(LanguageKnowledgesByPerson, self).do_setup()
        self.detail_action.action.hide_top_toolbar = True

    @classmethod
    def get_detail_title(self, ar, obj):
        """Overrides the default behaviour.

        """
        return u"{} / {}".format(obj.person, obj.language)
        # return str(obj.language)

    @classmethod
    def get_slave_summary(self, obj, ar):
        """The :meth:`summary view <lino.core.actors.Actor.get_slave_summary>`
        for this table.

        """
        sar = self.request_from(ar, master_instance=obj)

        html = []
        items = [sar.obj2html(o) for o in sar]

        sar = self.insert_action.request_from(sar)
        if sar.get_permission():
            btn = sar.ar2button()
            items.append(btn)

        if len(items) > 0:
            html += join_elems(items, sep=', ')

        return E.p(*html)
Exemplo n.º 18
0
class LanguageKnowledgesByPerson(LanguageKnowledges):
    """Shows the languages known by this person."""
    master_key = 'person'
    column_names = "language native spoken written cef_level has_certificate entry_date *"
    required_roles = dd.login_required(CareerUser)
    auto_fit_column_widths = True
    display_mode = "summary"
    window_size = (70, 15)
    detail_layout = dd.DetailLayout("""
    language
    native has_certificate
    cef_level
    spoken_passively spoken written
    entry_date
    """,
                                    window_size=(50, 'auto'))

    insert_layout = dd.InsertLayout("""
    language
    native has_certificate
    cef_level
    spoken_passively spoken written
    entry_date
    """,
                                    window_size=(50, 'auto'))

    @classmethod
    def do_setup(self):
        super(LanguageKnowledgesByPerson, self).do_setup()
        self.detail_action.action.hide_top_toolbar = True

    @classmethod
    def get_detail_title(self, ar, obj):
        # Overrides the default behaviour.
        return u"{} / {}".format(obj.person, obj.language)
        # return str(obj.language)

    @classmethod
    def get_table_summary(self, obj, ar):
        sar = self.request_from(ar, master_instance=obj)
        sar = self.insert_action.request_from(sar)
        if sar.get_permission():
            # lst = [sar.ar2button(label=u"⊕", icon_name=None)]
            lst = [sar.ar2button()]
        else:
            lst = []
        return obj.get_language_knowledge(*lst)
Exemplo n.º 19
0
class TrendStages(dd.Table):
    required_roles = dd.login_required(TrendsUser)
    model = 'trends.TrendStage'
    column_names = 'ref trend_area name subject_column *'
    order_by = ['ref', 'trend_area', 'name']
    stay_in_grid = True

    insert_layout = """
    name
    ref trend_area
    """

    detail_layout = dd.DetailLayout("""
    ref trend_area id
    name
    EventsByStage
    """)
Exemplo n.º 20
0
class ContactDetails(dd.Table):
    model = 'phones.ContactDetail'
    required_roles = dd.login_required(SiteStaff)
    column_names = (
        "value:30 detail_type:10 remark:10 partner id "
        "primary *")
    insert_layout = """
    detail_type
    value
    remark
    """
    detail_layout = dd.DetailLayout("""
    partner
    detail_type
    value
    remark
    """, window_size=(60, 'auto'))
Exemplo n.º 21
0
class ChatGroups(dd.Table):
    model = 'chat.ChatGroup'
    column_names = "created user title description *"
    required_roles = set([])
    # cell_edit = False

    detail_layout = dd.DetailLayout("""
     title ticket
     created 
     user 
     description
     ChatMembers
    """, window_size=(50, 15))

    insert_layout = dd.InsertLayout("""
    title
    description
    """)
Exemplo n.º 22
0
class DemandsByDemander(Demands):
    label = _("Wanted skills")
    required_roles = dd.login_required()
    master_key = 'demander'
    # column_names = 'skill importance user *'
    column_names = 'skill importance *'
    order_by = ["-importance", "-skill__id"]

    # exclude_vote_states = 'author'

    detail_layout = dd.DetailLayout("""
    skill 
    importance
    """, window_size=(40, 'auto'))

    insert_layout = """
    skill
    importance
    """

    display_mode = 'summary'
    
    @classmethod
    def get_table_summary(self, obj, ar):
        """Customized :meth:`summary view
        <lino.core.actors.Actor.get_table_summary>` for this table.

        """
        sar = self.request_from(ar, master_instance=obj)

        html = []

        items = [
            ar.obj2html(o, str(o.skill)) for o in sar]

        sar = self.insert_action.request_from(sar)
        if sar.get_permission():
            btn = sar.ar2button()
            items.append(btn)
            
        if len(items) > 0:
            html += join_elems(items, sep=', ')
            
        return E.p(*html)
Exemplo n.º 23
0
class Lists(dd.Table):
    required_roles = dd.required(OfficeUser)
    model = 'lists.List'
    column_names = 'ref name list_type *'
    order_by = ['ref']

    insert_layout = dd.InsertLayout("""
    ref list_type
    name
    remarks
    """,
                                    window_size=(60, 12))

    detail_layout = dd.DetailLayout("""
    ref list_type id
    name
    remarks
    MembersByList
    """)
Exemplo n.º 24
0
class Uploads(dd.Table):
    model = 'uploads.Upload'
    required_roles = dd.login_required((OfficeUser, OfficeOperator))
    column_names = "file type user owner description *"
    order_by = ['-id']

    detail_layout = dd.DetailLayout("""
    file user
    volume:10 library_file:40
    upload_area type description
    owner
    """,
                                    window_size=(80, 'auto'))

    insert_layout = """
    type
    description
    file
    volume library_file
    user
    """

    parameters = mixins.ObservedDateRange(
        # user=dd.ForeignKey(
        #     'users.User', blank=True, null=True,
        #     verbose_name=_("Uploaded by")),
        upload_type=dd.ForeignKey('uploads.UploadType', blank=True, null=True))
    params_layout = "start_date end_date user upload_type"

    # simple_parameters = ['user']

    @classmethod
    def get_request_queryset(cls, ar, **filter):
        qs = super(Uploads, cls).get_request_queryset(ar, **filter)
        pv = ar.param_values

        if pv.user:
            qs = qs.filter(user=pv.user)

        if pv.upload_type:
            qs = qs.filter(type=pv.upload_type)

        return qs
Exemplo n.º 25
0
class Lists(dd.Table):
    required_roles = dd.login_required(ContactsUser)
    model = 'lists.List'
    # column_names = 'ref designation list_type *'
    column_names = 'ref overview list_type *'
    order_by = ['ref']

    insert_layout = dd.InsertLayout("""
    ref list_type
    designation
    remarks
    """, window_size=(60, 12))

    detail_layout = dd.DetailLayout("""
    id ref list_type print_actions
    designation
    remarks
    MembersByList
    """)
Exemplo n.º 26
0
class Addresses(dd.Table):
    model = 'addresses.Address'
    required_roles = dd.required(dd.SiteStaff)
    column_names = ("partner address_type:10 remark:10 "
                    "address_column:30 primary data_source *")
    insert_layout = """
    country city
    street street_no street_box
    address_type remark
    """
    detail_layout = dd.DetailLayout("""
    country city zip_code
    addr1
    street street_no street_box
    addr2
    address_type remark
    data_source partner
    """,
                                    window_size=(60, 'auto'))
Exemplo n.º 27
0
class Mails(dd.Table):
    #~ read_access = dd.login_required(user_level='manager')
    required_roles = dd.login_required(OfficeStaff)
    model = Mail
    column_names = "sent recipients subject * body"
    hidden_columns = 'body'
    order_by = ["sent"]
    detail_layout = dd.DetailLayout("""
    subject project date
    user sent #build_time id owner
    RecipientsByMail:50x5 AttachmentsByMail:20x5 uploads.UploadsByController:20x5
    body:90x10
    """)
    insert_layout = dd.InsertLayout("""
    project
    subject
    body
    """,
                                    window_size=(60, 20))
Exemplo n.º 28
0
class InvoiceItems(dd.Table):
    """Shows all sales invoice items."""
    model = 'sales.InvoiceItem'
    auto_fit_column_widths = True
    column_names = "product title discount unit_price qty total_incl *"
    # hidden_columns = "seqno description total_base total_vat"

    detail_layout = dd.DetailLayout("""
    seqno product discount
    unit_price qty total_base total_vat total_incl
    title
    description""",
                                    window_size=(80, 20))

    insert_layout = """
    product discount qty
    title
    """

    stay_in_grid = True
Exemplo n.º 29
0
class Problems(dd.Table):
    "The base table for :class:`Problem` objects."
    model = 'checkdata.Problem'
    column_names = "user owner message #fixable checker *"
    auto_fit_column_widths = True
    editable = False
    cell_edit = False
    # parameters = dict(
    #     # user=models.ForeignKey(
    #     #     'users.User', blank=True, null=True,
    #     #     verbose_name=_("Responsible"),
    #     #     help_text=_("""Only problems for this responsible.""")),
    #     )
    params_layout = "user checker"

    # simple_parameters = ('user', 'checker')
    detail_layout = dd.DetailLayout("""
    checker
    owner
    message
    user id
    """, window_size=(70, 'auto'))
Exemplo n.º 30
0
class ChatMessages(dd.Table):
    model = 'chat.ChatMessage'
    column_names = "created user body *"
    # required_roles = [UserRole]
    # cell_edit = False

    detail_layout = dd.DetailLayout("""
     user group 
     body
    """, window_size=(50, 15))

    #parameters = ObservedDateRange(
        # user=dd.ForeignKey(
        #     settings.SITE.user_model,
        #     blank=True, null=True),
        # show_seen=dd.YesNo.field(_("Seen"), blank=True),
    #)

    #params_layout = "user start_date end_date"

    # @classmethod
    # def get_simple_parameters(cls):
    #     for p in super(Messages, cls).get_simple_parameters():
    #         yield p
    #     yield 'user'

    @classmethod
    def get_request_queryset(self, ar, **filter):
        qs = super(ChatMessages, self).get_request_queryset(ar, **filter)
        # pv = ar.param_values
        #
        # if pv.show_seen == dd.YesNo.yes:
        #     qs = qs.filter(seen__isnull=False)
        # elif pv.show_seen == dd.YesNo.no:
        #     qs = qs.filter(seen__isnull=True)
        return qs