Git Product home page Git Product logo

discourse-ticketing's Introduction

Tickets! In Discourse!

Development

The development instance of Discourse will need the tags and tag groups this plugin expects. Drop the content below in your development Discourse Rails root at db/seeds.rb, then run rake db:seed to ensure tagging in enabled and that the expected tags exist with the correct permissions.

SiteSetting.set(:tagging_enabled, true)
SiteSetting.set(:tag_style, "box")
SiteSetting.set(:tags_listed_by_group, true)

def tag_factory(tags=[])
  tags.map do |tag_name|
    Tag.find_or_create_by(name: tag_name)
  end
end

staff_tags = tag_factory %w(kb ticket)

priority_tags = tag_factory %w(priority-high
                   priority-immediate
                   priority-low
                   priority-normal
                   priority-urgent
                  )

reason_tags = tag_factory %w(reason-appealforhelp
                 reason-bademail
                 reason-cancelaccount
                 reason-confirmemail
                 reason-coreapp
                 reason-exchange
                 reason-forumpost
                 reason-forumtopic
                 reason-memberprofile
                 reason-networkinvite
                 reason-nps
                 reason-onboarding
                 reason-orgprofile
                 reason-partnership
                 reason-resource
                 reason-skypecall
                 reason-topicmerge
                 reason-username
                 reason-webinar
                )

status_tags = tag_factory %w(status-backburner
                             status-new
                             status-resolved
                             status-triaging
                             status-underway
                             status-waiting
                            )

ticket_tag = Tag.find_by(name: "ticket")
staff = Group::AUTO_GROUPS[:staff]
full_permission = TagGroupPermission.permission_types[:full]

staff_tag_group = TagGroup.find_or_create_by(name: "Staff")
staff_tag_group.tags = staff_tags
staff_tag_group.permissions = [[staff, full_permission]]
staff_tag_group.save!

priority_tag_group = TagGroup.find_or_create_by(name: "Ticket Priority")
priority_tag_group.parent_tag = ticket_tag
priority_tag_group.tags = priority_tags
priority_tag_group.permissions = [[staff, full_permission]]
priority_tag_group.one_per_topic = true
priority_tag_group.save!

reason_tag_group = TagGroup.find_or_create_by(name: "Ticket Reason")
reason_tag_group.parent_tag = ticket_tag
reason_tag_group.tags = reason_tags
reason_tag_group.permissions = [[staff, full_permission]]
reason_tag_group.save!

status_tag_group = TagGroup.find_or_create_by(name: "Ticket Status")
status_tag_group.parent_tag = ticket_tag
status_tag_group.tags = status_tags
status_tag_group.permissions = [[staff, full_permission]]
status_tag_group.one_per_topic = true
status_tag_group.save!

discourse-ticketing's People

Contributors

angusmcleod avatar bhaibel avatar freestylebit avatar jenpen avatar nathankleekamp avatar robbkidd avatar solebared avatar willmurphyscode avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

discourse-ticketing's Issues

Friday morning: get shared understanding of problem

Agenda for Friday morning:

  1. Break into small groups (2, 3, 3), and read the threads:
  2. Small groups write up a shared understanding of what is in the thread
    • These groups try to break down the problem
    • Generate questions about what we will build and how
  3. Come back together and check our shared understanding
  4. Work on a backlog, and plan work for the day

Ticket validation

Including:

  • Warn user if they are about to assign something that is not a ticket
  • Others

Questions for stakeholders

  • Introductions
  • Quick update on progress
  • Throwaway wireframes
    • Dashboard
    • Compose
  • Questions:
    • Tags vs custom_fields
    • Rails engine?
    • Where does dashboard live?
    • Personas
    • Dependencies
    • Seeding?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.