Ngày 12/1, tại đường Lê Đức Thọ (Nam Từ Liêm, Hà Nội), Liên đoàn Taekwondo thành phố Hà Nội đã tổ chức tổng kết hoạt động năm 2024, triển khai nhiệm vụ năm 2025.
Điểm lại những điểm nhấn ấn tượng trong kết quả hoạt động năm 2024, Phó Chủ tịch kiêm Tổng Thư ký Liên đoàn Taekwondo Hà Nội Hồ Anh Tuấn, Trưởng bộ môn Taekwondo Trung tâm Huấn luyện và Thi đấu thể dục thể thao Hà Nội nhấn mạnh: Với hệ thống 97 Điểm tập, 68 Câu lạc bộ là đơn vị trực thuộc Liên đoàn, trong năm qua, phong trào Taekwondo Hà Nội ngày càng phát triển rộng khắp, quy củ và có chất lượng. Chân đế phong trào Taekwondo đặc biệt phát triển mạnh trong thể thao học sinh, minh chứng là việc đoàn vận động viên Taewondo Hà Nội đã giành 7 Huy chương vàng, 3 Huy chương bạc, 8 Huy chương đồng tại Hội khỏe Phù Đổng toàn quốc lần thứ X năm 2024. Mục tiêu của Liên đoàn trong năm 2025 là tiếp tục phát triển lực lượng về cả chất lượng và số lượng.
Trong năm, Liên đoàn đã tổ chức thành công Festival Taekwondo Hà Nội mở rộng với sự tham dự của gần 1.100 võ sinh thuộc 61 câu lạc bộ của Hà Nội và các tỉnh phía Bắc; tổ chức thành công Giải vô địch các lứa tuổi Hà Nội mở rộng với gần 450 võ sinh của 49 Câu lạc bộ tham gia… Các Câu lạc bộ thành viên đã tổ chức các kì thi chuyển cấp cho các võ sinh theo đúng quy định của Liên đoàn với số lượng võ sinh ngày một tăng, chất lượng chuyên môn tiến bộ rõ rệt, nhiều Câu lạc bộ có tỷ lệ đỗ 100%. Liên đoàn cũng đã tổ chức thành công khóa tập huấn chuyên môn và kỳ thi thăng đẳng Taekwondo quốc gia khu vực phía Bắc năm 2024, thu hút gần 400 thí sinh của 18 đơn vị tỉnh, thành, ngành phía Bắc và các đơn vị thành viên. Bên cạnh đó, Ban Trọng tài của Liên đoàn đã triển khai công tác bồi dưỡng chuyên môn cho trọng tài, hỗ trợ các tỉnh bạn về công tác tổ chức và điều hành giải nhằm phát triển mạnh phong trào Taekwondo khu vực phía Bắc…
Ghi nhận sự phát triển của phong trào Taekwondo Hà Nội, Trưởng phòng Quản lý Thể dục Thể thao, Sở Văn hóa và Thể thao Hà Nội Đào Quốc Thắng, Phó Chủ tịch Thường trực Liên đoàn Taekwondo Hà Nội đề nghị các thành viên Liên đoàn tăng cường cập nhật các văn bản quản lý nhà nước để triển khai hoạt động phát triển phong trào ngày càng chặt chẽ, bài bản hơn, bảo đảm “phủ sóng” toàn diện trên địa bàn 30 quận, huyện, thị xã, tuyệt đối không để trống địa bàn.
Cùng với đó, cần kiện toàn công tác của Liên đoàn ngày càng đi vào nền nếp, phân định rõ vai trò, chức năng, nhiệm vụ của Liên đoàn Taekwondo Hà Nội và Liên đoàn Taekwondo quốc gia, tránh để chồng lấn, hoặc bỏ sót nhiệm vụ.
Ngoài ra, phải tăng cường phân cấp trong công tác chuyên môn, xác định rõ tiêu chí, điều kiện xác định trình độ huấn luyện viên, trọng tài cấp quốc gia, cấp thành phố, cấp quận, huyện, bảo đảm nâng chất hoạt động trong ban chuyên môn nhằm chuẩn hóa trình độ, đáp ứng xu thế phát triển mạnh mẽ của các liên đoàn thể thao hiện nay. Đồng thời, phải phát huy vai trò của Liên đoàn trong việc hỗ trợ các các câu lạc bộ, lưu ý việc quản lý, hướng dẫn về chuyên môn đối với các câu lạc bộ có yếu tố nước ngoài.
Đặc biệt, ông Đào Quốc Thắng lưu ý nhiệm vụ thúc đẩy phát triển Taekwondo thành tích cao, bảo đảm Taekwondo Hà Nội có thành viên trong đội tuyển Taekwondo quốc gia, thi đấu thành công tại các giải đấu quốc tế.
Phát biểu tại chương trình, Chủ tịch Liên đoàn Taekwondo thành phố Hà Nội Nguyễn Mạnh Hùng nhấn mạnh nhiệm vụ phải chuyên nghiệp hóa các hoạt động của Taekwondo Hà Nội, đáp ứng nhu cầu thực tiễn, hướng tới sự phát triển ngày càng mạnh mẽ của Liên đoàn.
Ông Nguyễn Mạnh Hùng lưu ý việc hỗ trợ tổ chức, cá nhân thành lập, vận hành câu lạc bộ Taekwondo chuyên nghiệp và tổ chức các giải thi đấu Taekwondo chuyên nghiệp, khuyến khích hình thành các cơ sở đào tạo vận động viên Taekwondo vận hành theo mô hình doanh nghiệp.
Để làm được điều đó, đòi hỏi Ban chấp hành Liên đoàn phải hoạt động “đều tay” hơn, gắn bó chặt chẽ với các câu lạc bộ thành viên. Đồng thời, thực hiện tốt công tác phối hợp với Liên đoàn Taekwondo Việt Nam, với Bộ môn Taekwondo Trung tâm Huấn luyện và Thi đấu thể dục thể thao Hà Nội, Sở Văn hóa và Thể thao Hà Nội trong việc nâng cao chất lượng chuyên môn, góp phần vào sự phát triển chung của phong trào Taekwondo Thủ đô.
Trong khuôn khổ chương trình, Liên đoàn Taekwondo Hà Nội đã khen thưởng danh hiệu Đơn vị xuất sắc tiêu biểu năm 2024 (Taekwondo quận Hoàng Mai, Câu lạc bộ Kids Việt Nam); Đơn vị xuất sắc năm 2024 (Taekwondo quận Đống Đa; Câu lạc bộ Cầu Giấy); Đơn vị tiên tiến năm 2024 (Taekwondo quận Hà Đông, quận Nam Từ Liêm, Câu lạc bộ Golden Buffalo, Câu lạc bộ Linh Đàm); Huấn luyện viên, Trọng tài xuất sắc năm 2024 (huấn luyện viên Nguyễn Đình Toàn, trọng tài Trần Bích Đào).
if (!isNotAllow3rd) { loadJsDefer('https://apis.google.com/js/platform.js?onload=onLoadGapi'); loadJsDefer('https://connect.facebook.net/vi_VN/sdk.js#xfbml=1&version=v5.0'); }
function onLoadGapi() { gapi.load('auth2', function() { gapi.load('auth2', function() { gapi.auth2.init({ client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', scope: 'email profile', fetch_basic_profile: true }); }); }); }
function deleteCookie(name) { document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; } function lgGetCookie(name) { var value = document.cookie; var start = value.indexOf(" " + name + "="); if (start == -1) { start = value.indexOf(name + "="); } if (start == -1) { value = null; } else { start = value.indexOf("=", start) + 1; var end = value.indexOf(";", start); if (end == -1) { end = value.length; } value = unescape(value.substring(start, end)); } return value; }
function lgSetCookie(name, value, date) { var cookieValue = escape(value) + ((date == null) ? "" : "; expires=" + date.toUTCString()); document.cookie = name + "=" + cookieValue; }
function authLogin(name,isLogin=false){ if (isLogin){ $('#top-link-account .first').hide(); $('#top-link-account .second').html(`${name} | Đăng xuất`); $('#top-link-account .second').attr('data-out',1);
$("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); $('.comment-account').html(`
`); }else { if (window.confirm("Bạn muốn đăng xuất?")) { var el = $("#top-link-account"); // //el.find("a.first").html("") // // .removeAttr("style"); el.find(".first").show(); el.find("a.second").html(""); el.find("a.second").removeAttr("data-out");
$('.comment-account').html(`
`);
deleteCookie('my_dv'); $("#_btn_logout").click(); } } }
function logout(){ if (window.confirm("Bạn muốn đăng xuất?")) { var el = $("#top-link-account"); // //el.find("a.first").html("") // // .removeAttr("style"); el.find(".first").show(); el.find("a.second").html(""); el.find("a.second").attr("data-out", "0");
$('.comment-account').html(`
`); deleteCookie('my_dv'); $("#_btn_logout").click(); } } function login(){ $("#_btn_logout").click(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); } function register(){ $("#_btn_logout").click(); $('[data-target="signup"]').click(); fnCaptcha(); }
var aspCookie = null;
(runinit = window.runinit || []).push(function() {
if(lgGetCookie('my_dv')){ var user = JSON.parse(lgGetCookie('my_dv')); if(user.name){ authLogin(user.name, true); } }
$('.btn-refresh').click(function() { fnCaptcha(); }); $('.iconew-eye').click(function() { $(this).toggleClass('closed'); var x = $(this).siblings('input')[0]; if (x.type === "password") { x.type = "text"; } else { x.type = "password"; } });
function stripHtml(html) { var temporalDivElement = document.createElement("div"); temporalDivElement.innerHTML = html; return temporalDivElement.textContent || temporalDivElement.innerText || ""; }
// --------------------- User account // 1. Hide login/logout button -> in case API doesn't available, login/logout will not show + Init OAuth_v2 //$("#top-link-account").hide(); if (typeof gapi != "undefined") { //window._cnnd.oauth.init(); console.log("login not available"); } // 2. Remove excessive login/register form -> only 1 form available // no need // 3. Callback functions var fnPopupAction = function(id, alert, loginData) { id = id.toLowerCase(); if (id == "close") { $("#cmt-account-header .close").click(); return; } if (id == "info" && !window._isShowingInfo) { $("#cmt-account-header .close").click(); return; } window._isShowingInfo = false; if (loginData) { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].logged-in").show().first().click(); $("#cmt-account-header [data-info-name]").html(loginData.name || "Quý vị"); $("#cmt-account-header [data-info-email]").html(loginData.email || "<không xác định>"); } else { $("#cmt-account-header [data-target]").hide(); $("#cmt-account-header [data-target].not-login").show().first().click(); $("#cmt-account-social").show(); } setTimeout(function() { $("#cmt-account-header > .wrapper").css("animation", "none"); }, 200); $("#cmt-account-header").show(); $("#cmt-account-header input[type="password"]").val(""); $("#cmt-account-header [data-target="" + id + ""]").click(); $("body").css("overflow", "hidden"); $("#nav").removeClass("active"); $("#cmt_alert").html(alert || "Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }; var accountMessageProcess = function(data) { if (data.isLogged) { fnPopupAction("info", "Vui lòng đăng nhập hoặc đăng ký để gửi bình luận", { name: data.name, email: data.email }); } else { fnPopupAction(data.act, data.alert || "Vui lòng đăng nhập hoặc đăng ký"); if (data.act == "close" && data.raw.Data && data.raw.Data.Approved) { //window.alert("Đăng nhập thành công"); fnPopupAction("info", "Đăng nhập thành công", { name: data.raw.Data.Name, email: $("#_login_email").val() || $("#_sign_email").val() }); } } };
// 5. Action functions -> bind event to form elements
var fnPopupBindAction = function() { // Tab $("#cmt-account-header [data-target]").on('click', function() { $("#cmt-account-header [data-target], #cmt-account-header [data-tab]").removeClass( "active"); $(this).addClass("active"); var tab = $("#cmt-account-header [data-tab='" + $(this).attr("data-target") + "']"); tab.addClass("active") .find("input[type="text"], input[type="email"]").first().focus(); tab.find("input").keyup(function(event) { if (event.keyCode === 13) { tab.find(".btn.clickable").click(); } }); fnCaptcha(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }); $("#cmt-account-header .close").on('click', function() { $("#cmt-account-header").hide(); $("#cmt-account-header > .wrap").removeAttr("style"); $("body").css("overflow", "unset"); fnCaptcha(); $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); }); // Reload Captcha // $("#_reload_captcha").on('click', function () { // fnCaptcha(); // }); // Btn Login
$("#comment-frame").on('click','#btn_login', function () { $("#top-link-account .first").click(); }); $("#comment-frame").on('click','#btn_signup', function () { $("#top-link-account .first").click(); $('[data-target="signup"]').click(); });
$("#_btn_login").on('click', function() { $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); var email, password; email = $("#_login_email").val(); password = $("#_login_password").val(); if (!/^[a-z0-9-_.]+[@][0-9a-z-]+(.[0-9a-z-]+)+$/ig.test(email) || password .length < 8) { $("#cmt_alert").html("Email hoặc mật khẩu không đúng!"); return; } $.ajax({ url: pageSettings.DomainApiComment + "/api/get-usercomment.htm", data: { email: encodeURI(email), password: password, sitename: pageSettings.commentSiteName, }, type: "get", success: function (res){ if (res && res.data == true){ var user = { email: email, name: email.substring(0, email.indexOf('@')), } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }else { $("#cmt_alert").html("Có lỗi phát sinh, vui lòng thử lại sau"); } } }); }); // Btn Signup $("#_btn_sign").on('click', function() { $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); var email, name, password, repassword, captcha; email = $("#_sign_email").val(); name = $("#_sign_name").val(); if (name == ''){ name = email.split('@')[0]; } password = $("#_sign_password").val(); //repassword = $("#_sign_repassword").val(); captcha = $("#_sign_captcha").val(); var format = /[!@#$%^&*()_+-=[]{};':"\|,.<>/?]/g; if (!/^[a-z0-9-_.]+[@][0-9a-z-]+(.[0-9a-z-]+)+$/ig.test(email)) { $("#cmt_alert").html("Email không hợp lệ"); return; } //if (name.length <= 0) { // $("#cmt_alert").html("Vui lòng nhập họ tên của bạn!"); // return; //} //if (name.length > 20) { // $("#cmt_alert").html("Họ tên không được quá 20 ký tự (Có thể để nickname thay thế)!"); // return; //} //if (format.test(name)) { // $("#cmt_alert").html("Tên không được chứa ký tự đặc biệt!"); // return; //} if (password.length < 8) { $("#cmt_alert").html( "Mật khẩu phải có ít nhất 8 ký tự, chứa ít nhất 1 chữ số và 1 chữ cái"); return; } //if (password != repassword) { // $("#cmt_alert").html("Mật khẩu xác nhận lại không khớp!"); // return; //} if (!(/[a-z]/ig.test(password) && /[0-9]/ig.test(password))) { $("#cmt_alert").html("Mật khẩu phải chứa ít nhất 1 chữ số và 1 chữ cái"); return; } if (captcha.length <= 0) { $("#cmt_alert").html("Vui lòng điền mã xác nhận trong ảnh!"); return; } $.ajax({ type: 'POST', url: pageSettings.DomainApiComment + "/api/insert-usercomment.htm", data: { name: name, email: email, password: password, captcha: captcha, sitename: pageSettings.commentSiteName }, success: function (res){ if (res && res.message == "Success"){ var user = { email: email, name: email.split('@')[0], } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); $("#cmt-account-header .close").click(); }else { $("#cmt_alert").html("Có lỗi phát sinh, vui lòng thử lại sau"); } } }); }); // Btn logout $("#_btn_logout").on('click', function() { $("#cmt_alert").html("Vui lòng đăng nhập hoặc đăng ký để gửi bình luận"); $("#cmt-account-header .close").click(); fnPopupAction("login", "Bạn đã đăng xuất thành công"); var el = $("#top-link-account"); //el.find("a.first").html("") // .removeAttr("style"); el.find("a.first").show(); el.find("a.second").html(""); $("#cmt-account-social").show(); }); // Header login/account_info
// Header login/account_info $("#top-link-account .first").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { $("#top-link-account .second").toggleClass("show"); } else { fnPopupAction("login"); } }); // Btn register/log_out $("#top-link-account .second").on('click', function() { if ($("#top-link-account .second").attr("data-out")) { //$("#_btn_logout").click();
authLogin('my_dv',false);
} else { fnPopupAction('signup'); }
//var el = $("#top-link-account"); //el.find("a.first").html("") // .removeAttr("style"); //el.find("a.second").html(""); }); }; fnPopupBindAction();
//login Facebook var otherLogin = { init: function() { var me = this; //gapi.load('auth2', function () { // gapi.auth2.init({ // client_id: '678720187862-08lendtdt5h3nr4j2he534p15b13aieg.apps.googleusercontent.com', // scope: 'email profile', // fetch_basic_profile: true // }); //}); $("#cmt-account-social button[data-type]").on('click', function() { me[$(this).attr("data-type")](function(response) { $("#cmt-account-header .tabs .close, #cmt-account .tabs .close") .click(); }); }); try { fbClient.appId = '1304555827613749'; //'211029740744825'; fbClient.version = "v14.0"; fbClient.init(); setTimeout(FB.AppEvents.logPageView, 5000); } catch (e) { // ignore } }, loginFacebook: function(cb) { var me = this;
function reloginFacebook(callback) { FB.api('/me', { fields: 'id, name, email' }, function(profile) { //console.debug(profile); if (typeof callback === "function") callback(profile); }); }; FB.login(function(response) { if (response.authResponse) { reloginFacebook(function(info) { console.log(info); info.social = "facebook"; info.accessToken = response.authResponse.accessToken;
var user = { email: info.email, name: info.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }); } else { $("#cmt_alert").html( "Bạn đã từ chối cấp quyền truy cập tài khoản Facebook"); } }, { scope: 'public_profile,email' }); }, loginGoogle: function(callback) { var me = this;
function callSocialApi(data, cb) { data.social = "google"; var user = { email: data.email, name: data.name, } let now = new Date(); lgSetCookie('my_dv',JSON.stringify(user), new Date(now.getTime() + (30 * 12 * 60000))); authLogin(user.name, true); }
// API call for Google login if (gapi.auth2.getAuthInstance().isSignedIn.get()) { //console.debug('[VCC] GAPI Process'); var profile = gapi.auth2.getAuthInstance().currentUser.get().getBasicProfile();
//var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse() .access_token;
var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); } else { //console.debug('[VCC] GAPI Login'); gapi.auth2.getAuthInstance().signIn().then( function(success) { var profile = gapi.auth2.getAuthInstance().currentUser.get() .getBasicProfile(); //var id_token = gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().id_token; var access_token = gapi.auth2.getAuthInstance().currentUser.get() .getAuthResponse().access_token;
var params = { id: profile.getId(), name: profile.getName(), email: profile.getEmail(), accessToken: access_token } //console.log('params: ', params); callSocialApi(params, callback); }, function(error) { $("#cmt_alert").html( "Bạn đã từ chối cấp quyền cho Báo Dân Việt truy cập tài khoản Google" ); } ); } } } otherLogin.init(); });
Xin chào ${name}! Đăng xuất