Created Ticket state equivalent to closed the customer can update

Good Day,

To All,

Dont know if this is a bug or normal behavior,
The Created Ticket state equivalent to closed the customer can update and it will changed to open

Only want to achieve is the created or additional ticket state equivalent to closed is also cant update by the customer

Sir @MrGeneration thank you for your reply in Github, sorry if I posted first in github my concern.


  • Used Zammad version: tested using 3.6 and 4.0
  • Installation method (source, package, …): package
  • Operating system: Ubuntu 20.04
  • Database + version: any
  • Elasticsearch version: any
  • Browser + version: latest , google chrome

Expected behavior:

  • When created new ticket state equivalent to closed the customer cant update the ticket

Actual behavior:

  • The new ticket state equivalent to closed can update by the customer and changed to open.

Steps to reproduce the behavior:

*1. check if the Group Settings- Follow-up Possible is configured (do not reopen Ticket but create new Ticket)
*2.Create new ticket state using the official documentation

Ticket::State.create_or_update(
name: ‘New Closed’,
state_type: Ticket::StateType.find_by(name: ‘closed’),
created_by_id: 1,
updated_by_id: 1,
)

–and–

attribute = ObjectManager::Attribute.get(
object: ‘Ticket’,
name: ‘state_id’,
)
attribute.data_option[:filter] = Ticket::State.by_category(:viewable).pluck(:id)
attribute.screens[:create_middle][‘ticket.agent’][:filter] = Ticket::State.by_category(:viewable_agent_new).pluck(:id)
attribute.screens[:create_middle][‘ticket.customer’][:filter] = Ticket::State.by_category(:viewable_customer_new).pluck(:id)
attribute.screens[:edit][‘ticket.agent’][:filter] = Ticket::State.by_category(:viewable_agent_edit).pluck(:id)
attribute.screens[:edit][‘ticket.customer’][:filter] = Ticket::State.by_category(:viewable_customer_edit).pluck(:id)
attribute.save!

*3. Customer - created new ticket
*4.When Agent reply and update the ticket to new created ticket state equivalent to closed the customer still can update the ticket and reply

Thank You and More Power


did you try to disable this option?

Thank you for your reply, requesting english version of your screen shot,

but if your screen shot is the number 1 of my step to reproduce I already tried it

thank you

Good Day,

i try to create a new simple state but it don´t work and i have no idea what i must do. I put the following in the console:

Ticket::State.create_or_update(
     name: 'Developing', 
     state_type: Ticket::StateType.find_by(name: 'Teile bestellt'),
     updated_by_id: 1,
     created_by_id: 1,
   )

This is what is described in the documentation… My result:

=> #<ObjectManager::Attribute id: 6, object_lookup_id: 2, name: “state_id”, display: “State”, data_type: “select”, data_option: {“relation”=>“TicketState”, “nulloption”=>true, “multiple”=>false, “null”=>false, “default”=>2, “translate”=>true, “filter”=>[2, 1, 3, 4, 6, 7], “maxlength”=>255}, data_option_new: {}, editable: false, active: true, screens: {“create_middle”=>{“ticket.agent”=>{“null”=>false, “item_class”=>“column”, “filter”=>[2, 1, 3, 4, 7]}, “ticket.customer”=>{“item_class”=>“column”, “nulloption”=>false, “null”=>true, “filter”=>[1, 4], “default”=>1}}, “edit”=>{“ticket.agent”=>{“nulloption”=>false, “null”=>false, “filter”=>[2, 3, 4, 7]}, “ticket.customer”=>{“nulloption”=>false, “null”=>true, “filter”=>[2, 4], “default”=>2}}}, to_create: false, to_migrate: false, to_delete: false, to_config: false, position: 40, created_by_id: 1, updated_by_id: 1, created_at: “2021-06-25 18:55:20”, updated_at: “2021-06-25 18:55:20”>

irb(main):021:0> ActiveRecord::NotNullViolation (PG::NotNullViolation: ERROR: null value in column “state_type_id” of relation “ticket_states” violates not-null constraint)
Traceback (most recent call last):
SyntaxError ((irb):21: syntax error, unexpected ‘:’)
…iolation (PG::NotNullViolation: ERROR: null value in column…

Thanks for your help

@dzerenner please don’t hijack threads and create your own one.