Browse Source

test

master
Ilya_Chis 2 months ago
parent
commit
9e9c7bffdd
  1. 3
      .idea/.gitignore
  2. 6
      .idea/inspectionProfiles/profiles_settings.xml
  3. 7
      .idea/misc.xml
  4. 8
      .idea/modules.xml
  5. 10
      .idea/tgflaskform.iml
  6. 2
      config.ini
  7. BIN
      config/__pycache__/__init__.cpython-38.pyc
  8. BIN
      req.txt
  9. BIN
      webApp/__pycache__/__init__.cpython-38.pyc
  10. BIN
      webApp/helper/__pycache__/jinjaHelper.cpython-38.pyc
  11. BIN
      webApp/interfaces/__pycache__/__init__.cpython-38.pyc
  12. BIN
      webApp/interfaces/__pycache__/dependencies.cpython-38.pyc
  13. BIN
      webApp/interfaces/__pycache__/pagesController.cpython-38.pyc
  14. 5
      webApp/interfaces/dependencies.py
  15. 13
      webApp/interfaces/pagesController.py
  16. 13
      webApp/templates/static/js/2.0.dashboard.js
  17. 1
      webApp/templates/static/js/UFMS.js

3
.idea/.gitignore vendored

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

6
.idea/inspectionProfiles/profiles_settings.xml

@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>

7
.idea/misc.xml

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Black">
<option name="sdkName" value="Python 3.8 (tgflaskform)" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (tgFlaskForm)" project-jdk-type="Python SDK" />
</project>

8
.idea/modules.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/tgflaskform.iml" filepath="$PROJECT_DIR$/.idea/tgflaskform.iml" />
</modules>
</component>
</project>

10
.idea/tgflaskform.iml

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3.8 (tgFlaskForm)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

2
config.ini

@ -1,6 +1,6 @@
[WEB_APP] [WEB_APP]
PORT = 8084 PORT = 8084
template_folder = C:\TgBotPage\webApp\templates template_folder = C:\Users\ilyac\PycharmProjects\tgFlaskForm\webApp\templates
environment = test environment = test
[GOOGLE] [GOOGLE]
type = service_account type = service_account

BIN
config/__pycache__/__init__.cpython-38.pyc

Binary file not shown.

BIN
req.txt

Binary file not shown.

BIN
webApp/__pycache__/__init__.cpython-38.pyc

Binary file not shown.

BIN
webApp/helper/__pycache__/jinjaHelper.cpython-38.pyc

Binary file not shown.

BIN
webApp/interfaces/__pycache__/__init__.cpython-38.pyc

Binary file not shown.

BIN
webApp/interfaces/__pycache__/dependencies.cpython-38.pyc

Binary file not shown.

BIN
webApp/interfaces/__pycache__/pagesController.cpython-38.pyc

Binary file not shown.

5
webApp/interfaces/dependencies.py

@ -14,3 +14,8 @@ def send_js(path):
resp = make_response(send_from_directory(os.path.join(config['WEB_APP']['template_folder'], 'static/js'), path), 200) resp = make_response(send_from_directory(os.path.join(config['WEB_APP']['template_folder'], 'static/js'), path), 200)
resp.headers['Cache-Control'] = 'public, max-age=31536000' resp.headers['Cache-Control'] = 'public, max-age=31536000'
return resp return resp
@webApp.route('/pic/<path:path>')
def send_pic(path):
return send_from_directory(os.path.join(config['WEB_APP']['template_folder'], 'static/pics'), path), 200

13
webApp/interfaces/pagesController.py

@ -19,13 +19,15 @@ def authorize_google():
return client return client
# Функция проверки существования пользователя в таблице # Функция проверки существования пользователя в таблице
def user_exists(sheet, fio, tel): #, user_id): def user_exists(sheet, fio, tel, user_id):
records = sheet.get_all_values() # Получаем все данные таблицы без заголовков records = sheet.get_all_values() # Получаем все данные таблицы без заголовков
for row in records[1:]: # Пропускаем первую строку, если там заголовки, или уберите [1:], если заголовков нет for row in records[1:]: # Пропускаем первую строку, если там заголовки, или уберите [1:], если заголовков нет
if len(row) > 1 and row[0] == fio and row[1] == tel:# and row[13] == user_id: if len(row) > 1 and row[0] == fio and row[1] == tel:# and row[13] == user_id:
return True # Если ФИО, телефон и user_id совпадают, значит, запись уже существует return True, 'Ваши данные уже присутствуют в таблице' # Если ФИО, телефон и user_id совпадают, значит, запись уже существует
return False if row[13] == user_id:
return True, 'C данного Telegram аккаунта уже проведена регистрация'
return False, 'Ок'
# Обработка формы # Обработка формы
@ -39,8 +41,9 @@ def form_submit():
sheet = authorize_google().open("Информация о сотрудниках").sheet1 sheet = authorize_google().open("Информация о сотрудниках").sheet1
# Проверка, существует ли уже пользователь # Проверка, существует ли уже пользователь
if user_exists(sheet, data['fio'], data['tel']): #, data['user_id']): exists_flag, message = user_exists(sheet, data['fio'], data['tel'], data['user_id'])
return jsonify({'success': False, 'error': 'Ваши данные уже присутствуют в таблице'}), 400 if exists_flag:
return jsonify({'success': False, 'error': message})
sheet.append_row([ sheet.append_row([
data['fio'], data['fio'],

13
webApp/templates/static/js/2.0.dashboard.js

@ -106,7 +106,7 @@ $(document).ready(function(){
const ageAtPassportIssue = passportDate.getFullYear() - dob.getFullYear(); const ageAtPassportIssue = passportDate.getFullYear() - dob.getFullYear();
// Проверка на возраст, в котором может быть выдан паспорт // Проверка на возраст, в котором может быть выдан паспорт
if (ageAtPassportIssue === 14 || ageAtPassportIssue === 20 || ageAtPassportIssue === 45) { if (ageAtPassportIssue > 12) {
// Если возраст при выдаче паспорта соответствует требованиям, подсвечиваем ячейку как успешную // Если возраст при выдаче паспорта соответствует требованиям, подсвечиваем ячейку как успешную
$(this).parent().removeClass('errors-field').addClass('success-field'); $(this).parent().removeClass('errors-field').addClass('success-field');
} else { } else {
@ -282,8 +282,8 @@ $(document).ready(function(){
return; return;
} }
if ($('#passport_date').val().length !== 10 || ![14, 20, 45].includes(new Date($('#passport_date').val()).getFullYear() - new Date($('#dob').val()).getFullYear())) { if ($('#passport_date').val().length !== 10 || (new Date($('#passport_date').val()).getFullYear() - new Date($('#dob').val()).getFullYear()) < 13) {
show_error('Дата выдачи паспорта должна быть в 14, 20 или 45 лет', false); show_error('Проверьте дату выдачи паспорта, паспорт РФ может быть выдан с 14 лет', false);
$(this).children(".spinner-border").addClass('d-none'); $(this).children(".spinner-border").addClass('d-none');
$(this).removeAttr("disabled"); $(this).removeAttr("disabled");
return; return;
@ -350,10 +350,17 @@ $(document).ready(function(){
async: true, async: true,
data: JSON.stringify(message), data: JSON.stringify(message),
success: (data) => { success: (data) => {
if(data.success==true){
$(this).children(".spinner-border").addClass('d-none'); $(this).children(".spinner-border").addClass('d-none');
$(this).removeAttr("disabled"); $(this).removeAttr("disabled");
console.log(data); console.log(data);
show_success("Данные сохранены!") show_success("Данные сохранены!")
}
else{
show_error(data.error);
$(this).children(".spinner-border").addClass('d-none');
$(this).removeAttr("disabled");
}
}, },
error:function (jqXHR, exception) { error:function (jqXHR, exception) {
$(this).children(".spinner-border").addClass('d-none'); $(this).children(".spinner-border").addClass('d-none');

1
webApp/templates/static/js/UFMS.js

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save