# <center><i class="fa fa-edit"></i> Smart Dispenser: `members_additional-card` 流程圖修改 </center> ###### tags: `Internship` :::info **Goal:** - [x] Make edits to previous flowchart according to Eric's suggestions **Resources:** [PyQt](https://hackmd.io/Ibk_VuuWRXOjkION4wk3tg) [newXinXingPyQtStructure](https://drive.google.com/drive/folders/1QNJJxxug1Njb9ATe-BdzcZKZZ1PGI2Sd?usp=sharing) [CodiMD](https://hackmd.io/c/codimd-documentation/%2F%40codimd%2Fextra-supported-syntax#Flow-Chart) [冠辰參考的筆記](https://www.wongwonggoods.com/page/4/?s=pyqt&ct_post_type=post%3Apage&ct_product_price=1) ::: *Figure 1. Open a new collection members_additional_card* ![](https://i.imgur.com/HIZq4rs.jpg) *Figure 2. Flowchart* ```flow st=>start: Start e=>end: End io=>inputoutput: input schoolID op=>operation: restrict this field to 8 numbers cond=>condition: Is the schoolID in the collection members_additional_card? er=>operation: Display Error Notification in pop-up: Invalid schoolID op2=>operation: Display members_additional_card fields in PyQt (see Figure 1.) and stored schoolID as variable s fix=>condition: Re-enter schoolID? su=>condition: Sign up as a new member? op3=>operation: Display sign up page add=>condition: Add additional card? a1=>operation: Input cardID of additional card a1.1=>operation: Restrict this field to 10 numbers a1.2=>condition: Is cardID in s&&primaryCard? a2=>condition: Is cardID in s&&additionalCard? er2=>operation: Display Error Notification in pop-up: Sorry, this is registered as your primary card. er3=>operation: Display Error Notification in pop-up: Sorry, you already registered this additional card. op4=>operation: Make new object in members_additional_card with schoolID = s, primaryCard = when primaryCard.equals(additionalCard), and additionalCard = most recent user input op5=>operation: Display current members_additional_card in PyQt st->io->op->cond->op2->add->a1->a1.1->a1.2->op4->op5->e cond(yes)->op2 cond(no)->er->fix fix(yes)->io fix(no)->su su(yes)->op3->e su(no)->e add(yes)->a1->a1.1 add(no)->e a1.2(yes)->er2->e a1.2(no)->a2 a2(yes)->er3->e a2(no)->op4->op5->e ``` :::danger **Needs Editing:** - [x] Restrict this field to 8/10 numbers - [x] how do you restrict? what if the input is not 8 numbers? - [x] changed to diamond - [x] Make new object in members_additional_card with schoolID = s, primaryCard = when primaryCard.equals(additionalCard), and additionalCard = most recent user input - [x] 這裡沒有看到新增至資料庫的程式,這段是在幹嘛呢? - [x] rephrased wording (the intent wass to update the collection with the new cardID but it was not phrased clearly enough) ::: *Figure 3. Revised Flowchart* ![](https://i.imgur.com/gU8jl6f.jpg)