Мобильное приложение на Glide для кафе (Часть 6).
Просмотр заказов администратором
Мы с Вами сформировали корзину, отправили заказ администратору, и что дальше? Ждём подтверждения или отказа. Администратор должен периодически просматривать таблицу заказов на компьютере или планшете. Но раз у нас есть мобильное приложение, то мы можем дать возможность администратору воспользоваться этим приложением и для просмотра поступивших заказов.
Вы не задумывались, зачем Glide при создании нового приложения по умолчанию в таблице пользователей (users) создаёт столбец ‘Role’, которым мы до сих пор не воспользовались? Давайте начнём.
Перейдём на вкладку ‘Layout’ и создадим новую вкладку “Заказы”. В строке ‘Source’ сразу поменяем таблицу с ‘Лист1’ на таблицу “Заказ”, а в строке ‘Label’ напишем ‘Заказ’, здесь стиль можно поменять на ‘Details’, также как мы делали ранее, а можно оставить ‘List’. Я оставляю ‘List’.
Рис.1
Рис.2
Нажмём на ‘Edit List’ (или выберем ‘List’ в левом окне NAVIGATION) и в ‘Title’ я выберу ‘Name’, в ’Details’ я выберу ‘Комментарий‘, в ‘Caption’ - ‘Стоимость заказа‘, а ‘Image’ оставлю пустым. Также в ACTION я оставлю действие по умолчанию ‘Show details screen for this Item’ (Рис.1). (Edit_list) Но вы можете сделать другие установки по вашему выбору, которые вам больше подходят. В итоге мы получим здесь список всех наших заказов (Рис.2). (App_List_Order).
Рис.3
Нажмём, например, на строку с ‘Илья’ и у нас откроется новый экран. У меня это экран с одним компонентом ‘Title’, добавим новые компоненты: “Email Entry”, “Data Time”, “Data Time”, “Text Entry” и “Text Entry”, и укажем им в качестве ‘Source’ соответствующие столбцы таблицы ‘Заказ’: “Email”, “Время заявки”, “На время”, “Комментарий”, “Стоимость заказа”, т.к. мы уже делали, я на этом не останавливаюсь это вы можете проделать сами. Далее, ‘Title’ ‘Илья’ есть у нас в заглавии экрана и этот же элемент есть во вкладке, то этот пункт я исключаю. В итоге получим Рис.3. (App_order_ilia) Может быть не всё здесь нужно, но я оставлю всё как есть.
Но у нас есть небольшая проблема. Дело в том, что все заказы видно всем пользователям, что не правильно и нам это нужно исправить.
Распределение ролей пользователей в приложении Glide
Рис.4
Вернёмся к вкладке ‘Заказы’. Откроем в правом окне вкладку ‘Options’ и в разделе VISIBILITY нажмём на кнопку ‘Add condition’. Откроется окно условия. В верхней строке выберем “User Profile -> Role”, а нижней строке соответственно “is” и “Admin”, иными словами “Пользователи у которых в Role установлено Admin” (Рис.4). (Add_condition)
Теперь перейдём к таблице ‘Users’ и для примера в столбце в первой строке введём “Admin”, а во второй “Повар”(Рис.5). (Tabl_role)
Рис.5
Рис.6
Это мы установили условия отображения вкладки “Заказы”. Т.е. если это ALIAKSANDR (он же администратор) то вкладка будет видна, если кто-то другой то этой вкладки (“Заказы”) не будет. Если мы хотим показать, например, вкладку ‘Заказы’ ещё и повару, то ещё раз нажмем кнопку ‘Add condition’ и зададим ещё одно условие (Рис.6). (Add_povar) Не забудем также поменять “And” на “Or”, иначе вкладка не будет отображаться никому.
Тема получилось небольшая, но не хотелось её совмещать со следующей темой. В следующей части статьи мы рассмотрим интересную тему “о связи приложения Glide с другими приложениями”, например, посылке уведомления в ‘Telegram’, чтобы администратор не проверял периодически поступление заказа, а ему приходило соответствующее сообщение.