особенности использования $publicaccess="1"

  • Автор темы Klido
  • Дата начала
K

Klido

Гость
#1
Есть документ, в котором изначально есть $PublicAccess="1" (исторические причины, по которым в форме есть это поле мною сейчас выясняются :)). Также есть поле авторского типа доступа, где указан создатель документа пользователь А (других полей ридер/автор нет). Пользователи А и Б имеют авторский же доступ к базе. Пользователь Б может открыть документ на редактирование :) . Без каких-либо сообщений про неправильные права. И сохранить изменения...
Когда-то давно слышал про ньюансы $PublicAccess - можете напомнить? Или что это может быть?

Если такой документ из вьюхи экшеном типа "Изменить" пользователь Б открывает в диалоге (разрешено изменение полей, новые поля и всё остальное для внесения изменений), то, несмотря опять же на авторство пользователя А при закрытии диалога документ прекрасно обновляется и doc.save после диалога не задает вопросов... Как-то предполагал я, что открыть в диалоге ещё сможет, но править дать не должно ну или хотя бы ругнуться при закрытии/сохранении...
 

TIA

:-)
Lotus team
15.05.2009
790
2
#2
Всё правильно, если у пользователя Б в ACL стоит галка "Write public document". Поле $PublicAccess как раз и отличает "public-документы" от прочих.
 
K

Klido

Гость
#3
TIA
т.е. $PublicAccess тупо игнорит авторские поля?

В хелпе как бы написано в "например" фраза "one user lets another user read or create", а создавать и читать - это не изменять...
Или действительно "you might want to make design elements accessible to all users, regardless of access level" не обращает внимание на доступы?

Пока я в при вызове диалога изменения вставил явный обход, если пользователь Б не содержится в авторском поле, но как-то стрёмно всё...
 

TIA

:-)
Lotus team
15.05.2009
790
2
#4
Пока я в при вызове диалога изменения вставил явный обход, если пользователь Б не содержится в авторском поле, но как-то стрёмно всё...
Если не хочешь, что Б не мог редактировать документ -- убери ему в ACL "Write public documents". Либо убери $PublicAcces у документа, но тогда прочие public-пользователи не смогут его редактировать тоже.
А диалоги лучше вызывать над временным не сохраняемым документом.


Специально нашёл даную статью. Там речь идёт об элементе дизайна (ЭД). Т.е. право использовать ту или вьюшку или ту или иную форму для public-пользователей. Вы же спрашиваете о влиянии $PublicAccess, установленный в документе, а не ЭД.
Пользователь Б у вас по ACL -- Author, значит он может читать в том числе и любые public-документы (точнее ноты), в том числе и ЭД.
 
K

Klido

Гость
#5
Пользователь Б у вас по ACL -- Author, значит он может читать в том числе и любые public-документы (точнее ноты), в том числе и ЭД.
Читать - я не против, зачем же изменять? :)
убери ему в ACL "Write public documents".
кажется логичным, но надо ещё посмотреть всё-таки зачем оно там было задумано...